/[suikacvs]/markup/html/whatpm/Whatpm/ChangeLog
Suika

Diff of /markup/html/whatpm/Whatpm/ChangeLog

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.17 by wakaba, Sat May 19 14:29:09 2007 UTC revision 1.397 by wakaba, Sun Sep 6 08:29:32 2009 UTC
# Line 1  Line 1 
1    2009-09-06  Wakaba  <wakaba@suika.fam.cx>
2    
3            * HTML.pm.src: Added the |hgroup| element (HTML5 revision 3039 and
4            HTML5 revision 3040).
5    
6    2009-09-06  Wakaba  <wakaba@suika.fam.cx>
7    
8            * HTML.pm.src: Added |xmp| to the list of Special elements (HTML5
9            revision 3689).  It should make no difference since the |xmp|
10            element has the PCDATA content and cannot be the non-bottommost
11            element in the stack of open elements.
12    
13    2009-09-06  Wakaba  <wakaba@suika.fam.cx>
14    
15            * HTML.pm.src: Set the |confidence| flag to |irrlevant| when the
16            fragment parsing algorithm is invoked (HTML5 revision 2699).
17    
18    2009-09-06  Wakaba  <wakaba@suika.fam.cx>
19    
20            * HTML.pm.src: Simplified foster parenting (HTML5 revision 2732).
21    
22    2009-09-06  Wakaba  <wakaba@suika.fam.cx>
23    
24            * HTML.pm.src: No longer does foster parenting |style|, |script|,
25            and |input type=hidden| elements (HTML5 revision 2988).
26    
27    2009-09-06  Wakaba  <wakaba@suika.fam.cx>
28    
29            * HTML.pm.src: Dropped the |eventsource| element (HTML5 revision
30            2870).
31    
32    2009-09-06  Wakaba  <wakaba@suika.fam.cx>
33    
34            * HTML.pm.src (_tree_construction_main): Treate |keygen| as a void
35            element (HTML5 revision 2960).
36    
37    2009-09-05  Wakaba  <wakaba@suika.fam.cx>
38    
39            * HTML.pm.src: Moved the "in table text" insertion mode code up
40            such that it does also work as specced in HTML5 in the remaining
41            cases (HTML5 revision 3382).
42    
43    2009-09-05  Wakaba  <wakaba@suika.fam.cx>
44    
45            * HTML.pm.src: Implementing the "in table text" insertion mode,
46            first half (HTML5 revision 3382).
47    
48    2009-08-30  Wakaba  <wakaba@suika.fam.cx>
49    
50            * ContentChecker.pm: Allow |xml:lang| in HTML document if the
51            owner element is not an HTML element (HTML5 revision 3697).
52    
53    2009-08-23  Wakaba  <wakaba@suika.fam.cx>
54    
55            * ContentChecker.pm: Allow <input type=hidden> in context where
56            interactive content is disallowed (HTML5 revision 2392).
57    
58    2009-08-16  Wakaba  <wakaba@suika.fam.cx>
59    
60            * HTML.pm.src: Dropped support for "XSLT-compat" and added
61            "about:legacy-compat" (HTML5 revision 2725).
62    
63    2009-08-16  Wakaba  <wakaba@suika.fam.cx>
64    
65            * HTML.pm.src: "<!DOCTYPE>" is now explicitly supported in the
66            spec (HTML5 revision 2700).
67    
68    2009-08-16  Wakaba  <wakaba@suika.fam.cx>
69    
70            * HTML.pm.src: Added support for <script> element in the "in
71            select" and "in select in table" insertion modes (HTML5 revision
72            2500).
73    
74    2009-08-16  Wakaba  <wakaba@suika.fam.cx>
75    
76            * HTML.pm.src: An <hn> start tag in an <hn> element should close
77            the earlier element (HTML5 revision 2501).
78    
79    2009-08-16  Wakaba  <wakaba@suika.fam.cx>
80    
81            * HTML.pm.src: The </br> end tags before the <body> start tag
82            should equally survive as the first br element child of the body
83            element (HTML5 revision 2586).
84    
85    2009-08-16  Wakaba  <wakaba@suika.fam.cx>
86    
87            * HTML.pm.src: <font> in SVG land is handled as an SVG element as
88            long as it did not have HTML attributes (HTML5 revision 2590).
89    
90    2009-08-16  Wakaba  <wakaba@suika.fam.cx>
91    
92            * HTML.pm.src (_tree_construction_main): Improved error reporting
93            on "select" start tag in "in select" and "in select in table"
94            parsing modes (c.f. HTML5 revision 3604).
95    
96    2009-07-26  Wakaba  <wakaba@suika.fam.cx>
97    
98            * mkhtmlclass.pl: Made xmlns:xlink with wrong namespace URL
99            invalid (HTML5 revision 2701).
100    
101    2009-07-26  Wakaba  <wakaba@suika.fam.cx>
102    
103            * HTML.pm.src: </rt>, </rp>, </option>, </optgroup> become
104            optional before </body> (HTML5 revision 2806).
105    
106    2009-07-25  Wakaba  <wakaba@suika.fam.cx>
107    
108            * HTML.pm.src: Marked where SVG |script| execution should be
109            implemented (HTML5 revision 2904).
110    
111    2009-07-25  Wakaba  <wakaba@suika.fam.cx>
112    
113            * HTML.pm.src (set_inner_html): The fragment parsing algorithm
114            inherits the document quirksness flag of the main document (HTML5
115            revision 2935).
116    
117    2009-07-05  Wakaba  <wakaba@suika.fam.cx>
118    
119            * HTML.pm.src (_tree_construction_main): Put |table| in |p| in
120            quirks mode (The Hixie Quirk, HTML5 revision 3132).
121    
122    2009-07-03  Wakaba  <wakaba@suika.fam.cx>
123    
124            * HTML.pm.src: <kegten> breaks out of <select> (HTML5 revision
125            3163).
126    
127    2009-07-03  Wakaba  <wakaba@suika.fam.cx>
128    
129            * HTML.pm.src: Don't change encoding to UTF-8 if the input
130            encoding is UTF-16 (HTML5 revision 3204).
131    
132    2009-07-03  Wakaba  <wakaba@suika.fam.cx>
133    
134            * HTML.pm.src (parse_byte_stream): Don't change to another
135            encoding if the input is UTF-16 (HTML5 revision 3205).
136    
137    2009-06-28  Wakaba  <wakaba@suika.fam.cx>
138    
139            * HTML.pm.src: |isindex| should no longer generate |p| element
140            node (HTML5 revision 3236).
141    
142    2008-12-12  Wakaba  <wakaba@suika.fam.cx>
143    
144            * ContentChecker.pm: Introduced new flag |has_autofocus|.  Added
145            support for new |id_type| value of |any|, which means any kind of
146            element is allowed as a referenced element.
147    
148    2008-12-12  Wakaba  <wakaba@suika.fam.cx>
149    
150            * ContentChecker.pm: Introduced |check_attrs2| method for the ease
151            of defining codes for checking required attribute and as such.
152    
153    2008-12-12  Wakaba  <wakaba@suika.fam.cx>
154    
155            * IMTChecker.pm: Added more definitions for subtypes.
156    
157    2008-12-11  Wakaba  <wakaba@suika.fam.cx>
158    
159            * URIChecker.pm: Some of |pos_end| values were wrong.
160    
161    2008-12-06  Wakaba  <wakaba@suika.fam.cx>
162    
163            * ContentChecker.pm (check_element): Added support for "no
164            referenced datalist" error.
165    
166    2008-12-06  Wakaba  <wakaba@suika.fam.cx>
167    
168            * URIChecker.pm: Bug fix: It did not work unless
169            Message::DOM::DOMImplementation has been |require|d.
170    
171    2008-12-06  Wakaba  <wakaba@suika.fam.cx>
172    
173            * NanoDOM.pm (document_uri): New attribute.
174    
175            * ContentChecker.pm: Don't use methods not implemented by NanoDOM.
176    
177    2008-11-07  Wakaba  <wakaba@suika.fam.cx>
178    
179            * NanoDOM.pm (text_content): Don't create a Text node if the new
180            value is empty.
181    
182    2008-11-06  Wakaba  <wakaba@suika.fam.cx>
183    
184            * SWML/: New directory.
185    
186    2008-10-20  Wakaba  <wakaba@suika.fam.cx>
187    
188            * NanoDOM.pm (specified, all_declarations_processed,
189            manakai_attribute_type): New attributes.
190    
191    2008-10-19  Wakaba  <wakaba@suika.fam.cx>
192    
193            * NanoDOM.pm (Entity->new): Initialize ->child_nodes as an empty
194            array.
195    
196    2008-10-19  Wakaba  <wakaba@suika.fam.cx>
197    
198            * NanoDOM.pm (notation_name): New attribute.
199    
200    2008-10-18  Wakaba  <wakaba@suika.fam.cx>
201    
202            * NanoDOM.pm (public_id, system_id): New attributes.a
203    
204    2008-10-18  Wakaba  <wakaba@suika.fam.cx>
205    
206            * NanoDOM.pm (text_content): Moved to Node from Element.  Setter
207            implemented.
208            (allowed_tokens, default_type, declared_type): Implemented.
209    
210    2008-10-17  Wakaba  <wakaba@suika.fam.cx>
211    
212            * NanoDOM.pm (node_name): New attribute.
213            (ELEMENT_TYPE_DEFINITION_NODE, ATTRIBUTE_DEFINITION_NODE): New
214            constants.
215            (create_element_type_definition_node, create_attribute_definition,
216            create_notation, create_general_entity,
217            get_element_type_definition_node,
218            set_element_type_definition_node, get_general_entity_node,
219            set_general_entity_node, get_notation_node, set_notation_node,
220            get_attribute_definition_node, set_attribute_definition_node): New
221            methods.
222            (element_types, entities, notations, attribute_definitions): New
223            attributes.
224            (DocumentType): Support for child nodes, entities, notations, and
225            element types.
226            (Entity, Notation, ElementTypeDefinition, AttributeDefinition):
227            New classes.
228    
229            * Dumper.pm: Support for general entities, notations, element type
230            definitions, and attribute definitions.
231    
232    2008-10-15  Wakaba  <wakaba@suika.fam.cx>
233    
234            * NanoDOM.pm (create_processing_instruction): New method.
235            (xml_version, xml_encoding, xml_standalone): New attributes.
236            (ProcessingInstruction): New class.
237    
238    2008-10-14  Wakaba  <wakaba@suika.fam.cx>
239    
240            * HTML.pm.src: Handling of end tags in the foreign content
241            insertion mode was partially wrong, because of wrong bit
242            operations.
243    
244    2008-10-14  Wakaba  <wakaba@suika.fam.cx>
245    
246            * NanoDOM.pm (dom_config): New attribute (do nothing), for
247            Whatpm::XML::Parser support.
248    
249    2008-10-14  Wakaba  <wakaba@suika.fam.cx>
250    
251            * Makefile: New rule to make HTML/Tokenizer.pm is added.
252    
253            * HTML.pm.src: Tokenizer part moved to another file.
254    
255    2008-10-13  Wakaba  <wakaba@suika.fam.cx>
256    
257            * HTML.pm.src: Merge |DT_EL| and |DD_EL| as |DTDD_EL|.
258    
259    2008-10-13  Wakaba  <wakaba@suika.fam.cx>
260    
261            * HTML.pm.src: Element category constants redefined.
262            
263    2008-10-13  Wakaba  <wakaba@suika.fam.cx>
264    
265            * HTML.pm.src: Steps for CDATA/RCDATA elements in tree
266            construction stage synced with the spec (HTML5 revisions 2139 and
267            2302).
268    
269    2008-10-07  Wakaba  <wakaba@suika.fam.cx>
270    
271            * ContentChecker.pm: New error level "html5_fact" added, which
272            should be tentatively used until all of requirements are properly
273            specced as RFC 2119 "MUST" in HTML5.
274    
275    2008-10-05  Wakaba  <wakaba@suika.fam.cx>
276    
277            * ContentChecker.pod: Note on internal flags is added.
278    
279    2008-10-05  Wakaba  <wakaba@suika.fam.cx>
280    
281            * HTML.pm.src: An AAA bug fixed.
282    
283    2008-10-04  Wakaba  <wakaba@suika.fam.cx>
284    
285            * HTML.pm.src: If another node is inserted by the parser, don't
286            reuse existing Text node to append a character (HTML5 revision
287            2124).
288    
289    2008-10-04  Wakaba  <wakaba@suika.fam.cx>
290    
291            * HTML.pm.src: Support for <option> and <optgroup> in body (HTML5
292            revisions 1731 and 2128).
293    
294    2008-10-04  Wakaba  <wakaba@suika.fam.cx>
295    
296            * HTML.pm.src: Make <foreignObject> scoping (HTML5 revision 1837).
297            Support for end tags of camelCase SVG elements were broken.  A
298            wrong error type text fixed.
299    
300    2008-10-04  Wakaba  <wakaba@suika.fam.cx>
301    
302            * HTML.pm.src: Drop redundant code (HTML5 revision 1731).
303    
304    2008-10-04  Wakaba  <wakaba@suika.fam.cx>
305    
306            * HTML.pm.src: Support for new definition of |param| and |source|
307            start tag parsing (HTML5 revision 1731).
308    
309    2008-10-04  Wakaba  <wakaba@suika.fam.cx>
310    
311            * HTML.pm.src: <p> steps reimplemented (HTML5 revision 1731).
312    
313    2008-10-04  Wakaba  <wakaba@suika.fam.cx>
314    
315            * HTML.pm.src: <li>, <dt>, and <dd> steps reimplemented (HTML5
316            revisions 1731 and 1831).
317    
318    2008-10-04  Wakaba  <wakaba@suika.fam.cx>
319    
320            * HTML.pm.src: Support for new flow (but not phrasing) elements (HTML5
321            revisions 1731 and 1778).  Support for the </sarcasm> end tag (HTML5
322            revision 1731).
323    
324    2008-10-04  Wakaba  <wakaba@suika.fam.cx>
325    
326            * HTML.pm.src: Support for |command| and |eventsource| elements (HTML5
327            revision 1731).  End tags of |option| and |optgroup| elements are
328            now optional (HTML5 revision 1731).
329    
330    2008-10-04  Wakaba  <wakaba@suika.fam.cx>
331    
332            * HTML.pm.src: New "special" elements added to the list (HTML5
333            revision 1778).  "strile" -> "strike".
334    
335    2008-10-02  Wakaba  <wakaba@suika.fam.cx>
336    
337            * ContentType.pm (get_sniffed_type): Support for the "better"
338            content sniffing (HTML5 revision 1927).  In a case the official
339            type was not returned when the method is invoked in the list
340            context.
341    
342    2008-09-22  Wakaba  <wakaba@suika.fam.cx>
343    
344            * HTML.pm.src: Character references for non-space C0 characters,
345            including U+000B VT, DEL character, noncharacter code points, are
346            now converted to the U+FFFD character (cf. HTML5 revision 2138).
347    
348    2008-09-21  Wakaba  <wakaba@suika.fam.cx>
349    
350            * ContentChecker.pm: |form=""| check support added.
351    
352    2008-09-21  Wakaba  <wakaba@suika.fam.cx>
353    
354            * ContentChecker.pm: |contextmenu| validness is now checked using
355            |id| and |id_type| properties, and |menu| property is removed.
356    
357    2008-09-21  Wakaba  <wakaba@suika.fam.cx>
358    
359            * ContentChecker.pm: Prepare for |form| |name| attribute's
360            duplication checking.
361    
362    2008-09-21  Wakaba  <wakaba@suika.fam.cx>
363    
364            * HTML.pm.src (parse_byte_stream): Support (or non-support) for
365            unsupported charset="" parameter value (HTML5 revision 2131).
366    
367    2008-09-20  Wakaba  <wakaba@suika.fam.cx>
368    
369            * HTML.pm.src: Reminding places where U+000B is allowed as a space
370            character is fixed (cf. HTML5 revision 1738).
371    
372            * ContentChecker.pm, HTMLTable.pm: U+000B is no longer part of
373            space characters (HTML5 revision 1738).
374    
375    2008-09-20  Wakaba  <wakaba@suika.fam.cx>
376    
377            * HTML.pm.src: The "anything else" case for the "after after body"
378            insertion mode was not updated to swtich to the "in body"
379            insertion mode.  U+000B is no longer a space character for the
380            purpose of tree construction phase (HTML5 revision 1738).
381    
382    2008-09-20  Wakaba  <wakaba@suika.fam.cx>
383    
384            * HTML.pm.src: U+000B is no longer a space character (HTML5
385            revision 1738).
386    
387    2008-09-20  Wakaba  <wakaba@suika.fam.cx>
388    
389            * ContentType.pm: 0x0B is no longer a space character (HTML5
390            revision 1738).
391    
392            * HTML.pm.src: U+000B is no longer a space character for the
393            algorithm for extracting an encoding from a Content-Type (HTML5
394            revision 1738).
395    
396    2008-09-20  Wakaba  <wakaba@suika.fam.cx>
397    
398            * ContentChecker.pm ($IsInHTMLInteractiveContent): New.
399    
400    2008-09-18  Wakaba  <wakaba@suika.fam.cx>
401    
402            * LangTag.pm: Add checks for remaining requirements from RFC 4646.
403    
404            * mklangreg.pl: Sort 'Prefix' values by their length, to ease
405            matching.
406    
407    2008-09-18  Wakaba  <wakaba@suika.fam.cx>
408    
409            * LangTag.pm: Warn for private use language subtags.  Error level
410            typos fixed.  Support for Suppress-Script field.
411    
412            * mklangreg.pl: Support for dumping of nested structure.
413    
414    2008-09-18  Wakaba  <wakaba@suika.fam.cx>
415    
416            * LangTag.pm (check_rfc4646_langtag): Check if a tag is in the
417            recommended case as per RFC 4646.
418    
419    2008-09-18  Wakaba  <wakaba@suika.fam.cx>
420    
421            * LangTag.pm (check_rfc4646_langtag): New method.
422    
423    2008-09-18  Wakaba  <wakaba@suika.fam.cx>
424    
425            * mklangreg.pl: New script.
426    
427            * Makefile: Updated for creation of the module for language subtag
428            registry.
429            
430    2008-09-16  Wakaba  <wakaba@suika.fam.cx>
431    
432            * Makefile: WebIDL.html added.
433    
434            * WebIDL.pod: New documentation.
435    
436    2008-09-16  Wakaba  <wakaba@suika.fam.cx>
437    
438            * WebIDL.pm: Checker's error types are redefined.
439    
440    2008-09-16  Wakaba  <wakaba@suika.fam.cx>
441    
442            * WebIDL.pm: Parser's error types are redefined.  Some forward
443            compatible parsing bugs are fixed.  Some unreachable codes are
444            commented out.
445    
446    2008-09-16  Wakaba  <wakaba@suika.fam.cx>
447    
448            * WebIDL.pm: Support for the reminding extended attributes are
449            added.  It does not satisfy the definition that a forward
450            interface declaration has an extended attribute.  It seems that
451            unless explicitly allowed multiple extended attributes with the
452            same name is not allowed, though it is not explicitly mentioned in
453            the spec.
454    
455    2008-09-16  Wakaba  <wakaba@suika.fam.cx>
456    
457            * WebIDL.pm: Unescapes extended attribute names and extended
458            attribute identifiers.  Preserve whether an extended attribute has
459            an argument list of not.  Support for extended attributes:
460            Constructor, ExceptionConsts, IndexGetter, IndexSetter,
461            NameGetter, NameSetter, and Null.
462            (has_argument_list): New attribute.
463            (idl_text): Stringifies argument lists, if any, even if it is
464            empty.
465    
466    2008-09-15  Wakaba  <wakaba@suika.fam.cx>
467    
468            * HTML.pm.src: New state |PCDATA_STATE|.  Use an empty string for
469            |{s_kwd}| in DATA_STATE as default.
470    
471    2008-09-15  Wakaba  <wakaba@suika.fam.cx>
472    
473            * HTML.pm.src, mkhtmlparser.pl: Replace |{prev_char}|
474            by |{s_kwd}| in DATA_STATE.
475    
476    2008-09-15  Wakaba  <wakaba@suika.fam.cx>
477    
478            * HTML.pm.src: Shorten keys.
479    
480    2008-09-15  Wakaba  <wakaba@suika.fam.cx>
481    
482            * HTML.pm.src: Remove checking for control character, surrogate
483            pair, or noncharacter code points and non-Unicode code
484            points (they should be handled by Whatpm::Charset::UnicodeChecker).
485            (parse_char_stream): Support for the |$get_wrapper| argument and
486            character stream error handlers.
487    
488    2008-09-15  Wakaba  <wakaba@suika.fam.cx>
489    
490            * ContentChecker.pm: Don't call |loda_ns_module|
491            for null-namespace elements/attributes.
492    
493            * HTML.pm.src: Fact out $disallowed_control_chars
494            as a hash.
495    
496    2008-09-14  Wakaba  <wakaba@suika.fam.cx>
497    
498            * HTML.pm.src: Regexp typo fixed.  |{prev_char}|
499            and |{next_char}| initializations are moved to initialization
500            method.  |{read_until}| now supports buffering.  Sync |set_inner_html|
501            with |parse_char_stream|.
502    
503    2008-09-14  Wakaba  <wakaba@suika.fam.cx>
504    
505            * HTML.pm.src (parse_char_stream): Make |set_next_char|
506            invoke |manakai_read_until|, not only |read|, where
507            possible, to decrease the number of |read| method calls.
508    
509            * mkhtmlparser.pl: Related changes to the aforementioned
510            modification.
511    
512    2008-09-14  Wakaba  <wakaba@suika.fam.cx>
513    
514            * HTML.pm.src: Use |read| instead of |getc|.  |set_inner_html|
515            would report character error from now.
516    
517    2008-09-14  Wakaba  <wakaba@suika.fam.cx>
518    
519            * HTML.pm.src: White-space-leaded non-white-space character
520            tokens in "before head insertion mode" was not
521            correctly handled.
522            (set_inner_html): Reimplemented using CharString decodehandle
523            class.  Support for $get_wrapper argument.  Support
524            for |{read_until}| feature.
525    
526    2008-09-14  Wakaba  <wakaba@suika.fam.cx>
527    
528            * HTML.pm.src: Make a "bare ero" error for unknown
529            entities point the "&" character.
530    
531    2008-09-14  Wakaba  <wakaba@suika.fam.cx>
532    
533            * HTML.pm.src: It turns out that U+FFFD don't have to
534            be added to the list of excluded characters.
535    
536    2008-09-14  Wakaba  <wakaba@suika.fam.cx>
537    
538            * HTML.pm.src ($char_onerror): Have character decoder's |line|
539            and |column| a higher priority than the one set by the
540            tokenizer's input handler.
541            ($self->{read_until}): Exclude U+FFFD (but this might
542            not be necessary, since now we do line/column fixup in
543            the character decode handle).
544    
545    2008-09-14  Wakaba  <wakaba@suika.fam.cx>
546    
547            * HTML.pm.src: Use |{read_until}| where possible.
548    
549    2008-09-14  Wakaba  <wakaba@suika.fam.cx>
550    
551            * HTML.pm.src: Change |{getc_until}| to |{read_until}|
552            and |manakai_getc_until| to |manakai_read_until| to
553            reduce the number of string copies.
554    
555    2008-09-14  Wakaba  <wakaba@suika.fam.cx>
556    
557            * HTML.pm.src (parse_char_string): Use newly created
558            |Whatpm::Charset::DecodeHandle::CharString| instead of Perl's
559            standard feature to |open| a string as a filehandle,
560            since Perl's string filehandle seems not supporting |ungetc|
561            method correctly.
562            (parse_char_stream): Define |{getc_until}| method.
563            (DATA_STATE): Experimental support for |getc_until| feature.
564    
565    2008-09-13  Wakaba  <wakaba@suika.fam.cx>
566    
567            * HTML.pm.src: Check points added to newly added branches.
568    
569    2008-09-13  Wakaba  <wakaba@suika.fam.cx>
570    
571            * HTML.pm.src: Remove |{char}|, which is no longer used.
572            Remove |{entity_in_attr}| and |{last_attribute_value_state}|
573            and replaced by |{prev_state}|.
574    
575            * mkhtmlparser.pl: Remove |{char}| feature.
576            Remove |!!!back-next-input-character;| macro.
577    
578    2008-09-13  Wakaba  <wakaba@suika.fam.cx>
579    
580            * HTML.pm.src: Finally we get rid of all the inner loops.  Remove
581            entity related tokenizer states in favor of new states
582            implementing the consume character reference algorithm.
583    
584    2008-09-13  Wakaba  <wakaba@suika.fam.cx>
585    
586            * HTML.pm.src: "Consume a character reference" algorithm is
587            now implemented as a tokenizer's state, rather than
588            a method, with minimum changes (more changes will
589            be made, in due course).  "Bogus comment state"'s inner
590            loop gets removed.
591    
592    2008-09-13  Wakaba  <wakaba@suika.fam.cx>
593    
594            * HTML.pm.src: Make |PUBLIC| and |SYSTEM| keyword tokenizing
595            into their own tokenizer states.
596    
597    2008-09-13  Wakaba  <wakaba@suika.fam.cx>
598    
599            * HTML.pm.src: |CDATA_SECTION_STATE| (formally |CDATA_BLOCK_STATE|
600            is split into three states.
601    
602    2008-09-13  Wakaba  <wakaba@suika.fam.cx>
603    
604            * HTML.pm.src: |CLOSE_TAG_OPEN_STATE| is broken into
605            itself and new |CDATA_PCDATA_CLOSE_TAG_STATE| so that
606            no longer does the tokenizer have to push back next input
607            characters in those states.
608    
609    2008-09-13  Wakaba  <wakaba@suika.fam.cx>
610    
611            * HTML.pm.src: |MARKUP_DECLARATION_OPEN_STATE| broken
612            into four states so that no longer does the tokenizer have to push
613            back next input characters in that state.
614    
615    2008-09-11  Wakaba  <wakaba@suika.fam.cx>
616    
617            * HTML.pm.src: Methods now accept additional parameter, $get_wrapper,
618            which can be used to insert some wrapper between the character
619            stream handle and the tokenizer.  (It is currently not supported
620            for |set_inner_html| for |Element|s).
621    
622    2008-09-10  Wakaba  <wakaba@suika.fam.cx>
623    
624            * HTML.pm.src: Ignore punctuations in charset names.
625    
626    2008-09-10  Wakaba  <wakaba@suika.fam.cx>
627    
628            * ContentChecker.pm: Support for charset-layer error levels.
629    
630            * HTML.pm.src: Don't specify |text| argument for the
631            |chardecode:fallback| error, since it is not the encoding
632            being used alternatively.
633    
634    2008-09-06  Wakaba  <wakaba@suika.fam.cx>
635    
636            * HTML.pm.src: Support for |XSLT-compat| (HTML5 revision 2141).
637    
638    2008-08-31  Wakaba  <wakaba@suika.fam.cx>
639    
640            * CacheManifest.pm: Support for extensibility (HTML5 revision 2051).
641    
642    2008-08-31  Wakaba  <wakaba@suika.fam.cx>
643    
644            * HTML.pm.src: Bug fix and sync with the spec with regard
645            to after after frameset insertion mode processing (HTML5
646            revision 1909).  Note that the implementation was wrong
647            per the old spec before the r1909 changes.
648    
649    2008-08-30  Wakaba  <wakaba@suika.fam.cx>
650    
651            * HTMLTable.pm: scope=auto algorithm fix synced with the
652            spec (HTML5 revision 2093).
653            ($process_row): Algorithm step numbers synced with the
654            spec (HTML5 revision 2092).
655    
656    2008-08-30  Wakaba  <wakaba@suika.fam.cx>
657    
658            * HTMLTable.pm: Zs is not what we want; we want White_Space! (HTML5
659            revision 2094).
660    
661    2008-08-30  Wakaba  <wakaba@suika.fam.cx>
662    
663            * ContentType.pm: Support for image/svg+xml (HTML5 revision 2096).
664    
665    2008-08-30  Wakaba  <wakaba@suika.fam.cx>
666    
667            * HTML.pm.src: '"' and "'" at the end of attribute
668            name (after another attribute) now raise parse error (HTML5
669            revision 2123).  Empty unquoted attribute values are no
670            longer allowed (HTML5 revision 2122).
671    
672    2008-08-30  Wakaba  <wakaba@suika.fam.cx>
673    
674            * mkhtmlparser.pl: Support for MathML |definitionURL| attribute (HTML5
675            revision 2130).
676    
677    2008-08-30  Wakaba  <wakaba@suika.fam.cx>
678    
679            * ContentChecker.pm: |xml:lang| attribute value must be same
680            as |lang| attribute value for HTML elements (HTML5 revision 2062
681            and so on).
682    
683    2008-08-30  Wakaba  <wakaba@suika.fam.cx>
684    
685            * ContentChecker.pm: Error level definition for |xml_id_error|
686            was missing.
687    
688            * URIChecker.pm: The end of the URL should be marked as the
689            error location for an empty path error.  The position
690            between the userinfo and the port components should be
691            marked as the error location for an empty host error.
692    
693    2008-08-30  Wakaba  <wakaba@suika.fam.cx>
694    
695            * URIChecker.pm: Set parameters representing where in the
696            value the error occurs for errors.  Report unknown
697            address format error in warning level, since address
698            formats are rarely added.  Path segments starting with "/.."
699            were misinterpreted as a dot-segment.
700    
701    2008-08-30  Wakaba  <wakaba@suika.fam.cx>
702    
703            * URIChecker.pm (check_iri_reference): Requires
704            |Message::DOM::DOMImplementation|.
705    
706    2008-08-29  Wakaba  <wakaba@suika.fam.cx>
707    
708            * IMTChecker.pm: Updated for the new error reporting architecture.
709    
710            * ContentChecker.pm: Error levels for IMTs are added.
711    
712    2008-08-17  Wakaba  <wakaba@suika.fam.cx>
713    
714            * H2H.pm (_shift_token): Support for unquoted HTML attribute
715            values.
716    
717    2008-08-16  Wakaba  <wakaba@suika.fam.cx>
718    
719            * CacheManifest.pm: Support for new style of error
720            reports.
721    
722            * HTML.pm.src: Set line=1, column=1 to the document node.
723    
724    2008-08-16  Wakaba  <wakaba@suika.fam.cx>
725    
726            * ContentChecker.pm, RDFXML.pm: Pass {level} object to language tag
727            and URL checkers.  Support for more error levels for bogus
728            langauge tag and URL "standards".
729    
730            * LangTag.pm, URIChecker.pm: Support for new style error
731            level reporting.
732    
733    2008-08-15  Wakaba  <wakaba@suika.fam.cx>
734    
735            * ContentChecker.pm: Support for RDF/XML error levels.
736    
737            * HTMLTable.pm, RDFXML.pm: Support for new style of error level
738            specifying.  Error types are revised.
739    
740    2008-08-15  Wakaba  <wakaba@suika.fam.cx>
741    
742            * ContentChecker.pm: All error reporting method calls are
743            renewed.
744    
745    2008-08-15  Wakaba  <wakaba@suika.fam.cx>
746    
747            * HTML.pm.src: All error type names and "text" parameters
748            are revised.  Use new style for "level" specification.
749    
750            * mkhtmlparser.pl: Use new style for "level" specification.
751    
752    2008-08-03  Wakaba  <wakaba@suika.fam.cx>
753    
754            * WebIDL.pm (parse_char_string): Simplified error
755            reporting process for broken ignored valuetype definition.
756            (Valuetype idl_text): Support for special "DOMString" name.
757    
758    2008-08-03  Wakaba  <wakaba@suika.fam.cx>
759    
760            * WebIDL.pm ($get_scoped_name): Append "::::" if the last
761            terminal of the ScopedName is "DOMString", such that whether
762            the last part of the scoped name is "DOMString" or "_DOMString"
763            later.  It is necessary to determine whether a |typedef|
764            definition should be ignored or not.
765            (parse_char_string): Unescape the identifier of
766            exception members.
767            ($resolve): Return undef for builtin types and sequence<T>
768            types (we might not have to do this, however...).
769            (check): Support checking for Exceptions, Valuetypes,
770            and Typedefs.
771            ($serialize_type): Support for "DOMString::::" syntax.
772            (Typedef idl_text): Output Type as "DOMString" if it
773            is really "DOMString" (i.e. its internal representation
774            is "::DOMString::").
775    
776    2008-08-03  Wakaba  <wakaba@suika.fam.cx>
777    
778            * WebIDL.pm ($resolve): New code, based on resolve code
779            for constant types in the |check| method.
780            (check): Support for checking of attributes, operations, and
781            arguments.
782            (Attribute/Operation idl_text): Exception names in getraises,
783            setraises, and raises clauses is serizlied by |$serialize_type|
784            code.
785    
786    2008-08-02  Wakaba  <wakaba@suika.fam.cx>
787    
788            * WebIDL.pm ($integer): Order of selections are changed to match
789            hexadecimal numbers (the original pattern, taken from the spec,
790            was not work for hexadecimal numbers, because the "0" prefix
791            matches to the [0-7]* part (as an empty string) and therefore
792            it does not match with remaining "x..." part of a "0x..." integer
793            literal.
794            ($get_type): It now returns a string, not an array reference,
795            for regular types and |sequence| types (i.e. it in any case
796            returns a string).
797            ($get_next_token): The second item in the array that represents
798            a integer or float token is now a Perl number value, not the
799            original string representation of the number.
800            (check): Support for const value consistency checking.
801            No extended attribute is defined for constants.
802            (Node subclasses): Use simple strings rather than array references
803            for default data type values.
804            ($serialize_type): Type values are now simple strings.
805            (value): If the new attribute value is a false value, then
806            a FALSE value is set to the attribute.
807    
808    2008-08-02  Wakaba  <wakaba@suika.fam.cx>
809    
810            * WebIDL.pm ($get_scoped_name): Now scoped names are stored
811            in its stringified format ("scoped name" as defined in the
812            spec).  Note that future version of this module should not use
813            array references for type values and the |type_text| attribute
814            should be made obsolete.
815            (parse_char_string): Unescape attribute names.
816            (check): Support for checking of whether inherited interfaces
817            are actually defined or not.  Support for checking of whether
818            interface member identifiers are duplicated or not.
819            ($serialize_type): Scoped names are returned as is.  A future
820            version of this code should escape identifiers other than "DOMString",
821            otherwise the idl_text would be non-conforming.
822    
823    2008-08-02  Wakaba  <wakaba@suika.fam.cx>
824    
825            * WebIDL.pm (parse_char_string): Set line/column numbers
826            to generated nodes.  Unescape identifiers.  Extended attributes
827            for Definition's were ignored.
828            (append_child): Set |parent_node| attribute.
829            (parent_node): New attribute.
830            (check): Support interface/exception members.  Support
831            extended attributes.  Support definition identifier uniqueness
832            constraint.
833            (qualified_name): New attribute.
834            (Interface/Exception idl_text): Extended attributes were
835            not prepended to the returned text.
836    
837    2008-08-02  Wakaba  <wakaba@suika.fam.cx>
838    
839            * WebIDL.pm (parse_char_string): Set line/column numbers
840            to interface object experimentally.  s/shift/pop/g, shift
841            would make things wrong.  Support for interface forward
842            declarations was missing.  Broken interface declarations
843            with no block were not ignored entirely.
844            (Whatpm::WebIDL::Node): New abstract class.  This class
845            makes things easier.
846            (child_nodes): New attribute.  Unlike DOM's attribute with
847            same name, this attribute returns a dead list of nodes for
848            simplicity.
849            (get_user_data, set_user_data): New methods.
850            (Module idl_text): A SPACE character should be inserted
851            before the |{| character.
852            (Interface idl_text): Support for interface forward declarations.
853            (is_forward_declaration): New attribute.
854    
855    2008-07-19  Wakaba  <wakaba@suika.fam.cx>
856    
857            * WebIDL.pm (type_text): Better serializer.
858    
859    2008-07-19  Wakaba  <wakaba@suika.fam.cx>
860    
861            * WebIDL.pm: Revise forward-compatible parsing so that
862            it now can handle broken extended attributes and as such.
863    
864    2008-07-19  Wakaba  <wakaba@suika.fam.cx>
865    
866            * WebIDL.pm: Real support for extended attributes.
867            Support for extended attributes with arguments.
868    
869    2008-07-19  Wakaba  <wakaba@suika.fam.cx>
870    
871            * WebIDL.pm: Support for |exception| syntax.
872            (Interface->idl_text): Tentative support for inheritances.
873    
874    2008-07-19  Wakaba  <wakaba@suika.fam.cx>
875    
876            * WebIDL.pm: Hierarchical scoped name support was broken.
877            Support for raises, setraises, and getraises syntaxes.
878    
879    2008-07-18  Wakaba  <wakaba@suika.fam.cx>
880    
881            * WebIDL.pm: Support for |idl_text| attribute, version 1 (no
882            proper support for types, extended attributes, and exceptions yet).
883            WebIDL parser, version 1 (no support for exceptions yet,
884            no proper support for extended attributes yet).
885    
886    2008-07-09  Wakaba  <wakaba@suika.fam.cx>
887    
888            * WebIDL.pm (parse_char_string): Support for basic attribute syntax.
889    
890    2008-06-29  Wakaba  <wakaba@suika.fam.cx>
891    
892            * WebIDL.pm: Support for valuetype and const.
893    
894    2008-06-29  Wakaba  <wakaba@suika.fam.cx>
895            
896            * WebIDL.pm: New module.
897    
898    2008-06-15  Wakaba  <wakaba@suika.fam.cx>
899    
900            * Makefile (Entities.html): URI changed.
901    
902    2008-06-08  Wakaba  <wakaba@suika.fam.cx>
903    
904            * HTML.pm.src: Support for ruby parsing (HTML5 revision 1704).
905    
906    2008-06-01  Wakaba  <wakaba@suika.fam.cx>
907    
908            * HTML.pm.src (_get_next_token): A parse error was missing.
909    
910    2008-06-01  Wakaba  <wakaba@suika.fam.cx>
911    
912            * mklinktypelist.pl: rel=contact is no longer part of the HTML5
913            spec (commented out). (HTML5 revision 1711).
914    
915    2008-05-25  Wakaba  <wakaba@suika.fam.cx>
916    
917            * ContentType.pm: Drop support for UTF-32 (HTML5 revision 1701).
918    
919            * HTML.pm.src: UTF-16BE and UTF-16LE should be considered
920            as UTF-16 (HTML5 revision 1701).
921    
922    2008-05-25  Wakaba  <wakaba@suika.fam.cx>
923    
924            * HTML.pm.src: Support for <noframes> in <head> (HTML5 revision
925            1692).
926    
927    2008-05-25  Wakaba  <wakaba@suika.fam.cx>
928    
929            * HTML.pm.src: The secondary insertion mode used when switching
930            to foreign content is the "in body" insertion mode (HTML5 revision
931            1696).
932    
933    2008-05-25  Wakaba  <wakaba@suika.fam.cx>
934    
935            * HTML.pm.src: Don't raise parse error for <isindex/> (HTML5
936            revision 1697).
937    
938    2008-05-24  Wakaba  <wakaba@suika.fam.cx>
939    
940            * HTML.pm.src: Support for end-of-file token in foreign content
941            insertion mode (HTML5 revision 1693).  Update SVG camelCase
942            attribute list (HTML5 revision 1700).  <textarea> closes
943            </select> (HTML5 revision 1699).  More start tags close in
944            foreign content insertion mode (HTML5 revision 1698).
945    
946    2008-05-24  Wakaba  <wakaba@suika.fam.cx>
947    
948            * HTML.pm.src: ";" is not part of charset name (HTML5 revision 1665).
949    
950    2008-05-24  Wakaba  <wakaba@suika.fam.cx>
951    
952            * HTML.pm.src: More robust charset parameter detection (HTML5
953            revision 1674).
954    
955    2008-05-24  Wakaba  <wakaba@suika.fam.cx>
956    
957            * ContentType.pm: Support for image/vnd.microsoft.icon (HTML5
958            revision 1676).
959    
960    2008-05-24  Wakaba  <wakaba@suika.fam.cx>
961    
962            * HTML.pm.src: Ignore language part of public identifiers for
963            quriks mode detection (HTML5 revision 1679).
964    
965    2008-05-24  Wakaba  <wakaba@suika.fam.cx>
966    
967            * HTML.pm.src: Reduce the number of errors in truncated doctypes (HTML5
968            revision 1685).
969    
970    2008-05-24  Wakaba  <wakaba@suika.fam.cx>
971    
972            * HTML.pm.src: Support for EOF in new states for tags (HTML5
973            revision 1684).
974    
975    2008-05-24  Wakaba  <wakaba@suika.fam.cx>
976    
977            * HTML.pm.src (_reset_insertion_mode): Make <td>.innerHTML
978            work (HTML5 revision 1690).
979    
980    2008-05-24  Wakaba  <wakaba@suika.fam.cx>
981    
982            * HTML.pm.src (_tree_construction_main): Change handling of
983            end tags in head insertion modes (HTML5 revision 1686).
984            (parse_char_string): Bug fix for non-utf8 character string handlings.
985            (parse_char_stream): |ungetc| does not work well for this context.
986    
987    2008-05-18  Wakaba  <wakaba@suika.fam.cx>
988    
989            * HTML.pm.src (parse_byte_string): Redefined to invoke
990            |parse_byte_stream|.
991            (parse_byte_stream): New method.
992    
993    2008-05-18  Wakaba  <wakaba@suika.fam.cx>
994    
995            * HTML.pm.src (parse_byte_string): Fix the column number reported
996            by encoding layer error reporter.
997    
998    2008-05-17  Wakaba  <wakaba@suika.fam.cx>
999    
1000            * HTML.pm.src (parse_byte_string): Use streaming decoder
1001            rather than converting the whole byte string and then parsing.
1002            Propagate errors in character encoding layer.
1003            (get_next_token): Precise error reporting for |bare stago| error.
1004    
1005    2008-05-17  Wakaba  <wakaba@suika.fam.cx>
1006    
1007            * HTML.pm.src (parse_char_stream): New method.
1008            (parse_char_string): This method is now defined as an invocation
1009            of the |parse_char_stream| method.
1010    
1011    2008-05-17  Wakaba  <wakaba@suika.fam.cx>
1012    
1013            * HTML.pm.src (parse_byte_string): Report various status
1014            of the sniffing as info-level errors.  Support for new
1015            decoding framework in parser resestting.
1016            (new): Various default error levels were not set.
1017    
1018    2008-05-17  Wakaba  <wakaba@suika.fam.cx>
1019    
1020            * HTML.pm.src (parse_byte_string): HTML5 encoding siniffing
1021            algorithm, except for the actual sniffing, is implemented
1022            with new framework with Message::Charset::Info.
1023    
1024    2008-05-16  Wakaba  <wakaba@suika.fam.cx>
1025    
1026            * CacheManifest.pm (_parse): Drop fragment identifiers from
1027            URIs in fallback section (HTML5 revision 1596).
1028    
1029    2008-05-10  Wakaba  <wakaba@suika.fam.cx>
1030    
1031            * Makefile (Entities.html): URI has changed.
1032    
1033    2008-05-10  Wakaba  <wakaba@suika.fam.cx>
1034    
1035            * CacheManifest.pm: Don't replace U+0000 NULL (HTML5 revision
1036            1553).
1037    
1038    2008-05-06  Wakaba  <wakaba@suika.fam.cx>
1039    
1040            * ContentChecker.pm: Noted that those returned in |table| are
1041            no longer table elements, but table objects returned
1042            by Whatpm::HTMLTable.
1043    
1044            * HTMLTable.pm (form_table): Return table element node
1045            as |$table->{element}|.
1046            (assign_header): Support for the |headers=""| attribute.
1047    
1048    2008-05-06  Wakaba  <wakaba@suika.fam.cx>
1049    
1050            * HTMLTable.pm (assign_header): New function; first version
1051            with no support for headers="".
1052            (form_table): Include table width and height to the returned
1053            table object for covenience.  Indexing in column assignement was wrong.
1054            Set whether a data cell is empty or not for convenience.
1055    
1056    2008-05-05  Wakaba  <wakaba@suika.fam.cx>
1057    
1058            * HTMLTable.pm: Robuster caption support (HTML5 revision 1393).
1059    
1060    2008-05-05  Wakaba  <wakaba@suika.fam.cx>
1061    
1062            * HTMLTable.pm: How table model errors are detected is
1063            changed (HTML5 revision 1387).
1064    
1065    2008-05-05  Wakaba  <wakaba@suika.fam.cx>
1066    
1067            * HTMLTable.pm: The algorithm now moves |tfoot| elements
1068            to the end of the table (HTML5 revision 1380).
1069    
1070    2008-05-05  Wakaba  <wakaba@suika.fam.cx>
1071    
1072            * HTMLTable.pm: The algorithm is now 0-based indexing, instead
1073            of 1-based (HTML5 revision 1376).
1074    
1075    2008-05-05  Wakaba  <wakaba@suika.fam.cx>
1076    
1077            * ContentType.pm: "Content-Type: text/plain; charset=UTF-8"
1078            and "Content-Encoding" no longer prevent sniffing (HTML5
1079            revision 1288).
1080    
1081    2008-05-05  Wakaba  <wakaba@suika.fam.cx>
1082    
1083            * ContentType.pm: Skip BOMs n feed or HTML algorithm (HTML5 revision
1084            1282).
1085    
1086    2008-05-03  Wakaba  <wakaba@suika.fam.cx>
1087    
1088            * ContentChecker.pm: Support for global attributes.
1089            Status of XML specs are added.
1090    
1091    2008-05-03  Wakaba  <wakaba@suika.fam.cx>
1092    
1093            * ContentChecker.pm (check_element): Support for |template=""|
1094            and |ref=""| attribute (referent element type checking).
1095    
1096    2008-04-29  Wakaba  <wakaba@suika.fam.cx>
1097    
1098            * CacheManifest.pm (_parse): New same origin definition (HTML5 revision
1099            1500) is implemented (except for IDNA part and URI-scheme-specific
1100            knowledge).  Line number counting was wrong for LF-only
1101            documents.
1102    
1103    2008-04-13  Wakaba  <wakaba@suika.fam.cx>
1104    
1105            * HTML.pm.src: Raise an parse error for any disallowed
1106            character (HTML5 revision 1263).
1107    
1108    2008-04-13  Wakaba  <wakaba@suika.fam.cx>
1109    
1110            * mkentitylist.pl: Support for new HTML5 entity table format (the
1111            definition for |AElig;| was missing).
1112    
1113    2008-04-13  Wakaba  <wakaba@suika.fam.cx>
1114    
1115            * HTML.pm.src, mkhtmlparser.pl: Support for element/attribute
1116            name/namespace fixup (HTML5 revisions 1413, 1415, 1416, and 1417).
1117    
1118    2008-04-13  Wakaba  <wakaba@suika.fam.cx>
1119    
1120            * HTML.pm.src: List of element names that close foreign content
1121            insertion mode is added (HTML5 revisions 1412 and 1418).
1122    
1123    2008-04-13  Wakaba  <wakaba@suika.fam.cx>
1124    
1125            * HTML.pm.src: Support for |mglyph| and |malignmark|
1126            elements (HTML5 revision 1410).
1127    
1128    2008-04-13  Wakaba  <wakaba@suika.fam.cx>
1129    
1130            * HTML.pm.src: Support for new long MathML entities (HTML5
1131            revision 1406).
1132    
1133    2008-04-13  Wakaba  <wakaba@suika.fam.cx>
1134    
1135            * HTML.pm.src: CDATA section support for MathML and SVG
1136            elements (HTML5 revision 1404 and 1420).
1137    
1138    2008-04-12  Wakaba  <wakaba@suika.fam.cx>
1139    
1140            * HTML.pm.src, mkhtmlparser.pl: Support for MathML and SVG
1141            elements (HTML5 revision 1404).  Unused !!!macro definitions
1142            are removed.
1143    
1144    2008-04-12  Wakaba  <wakaba@suika.fam.cx>
1145    
1146            * HTML.pm.src, mkhtmlparser.pl: The way permitted slash errors
1147            are raised is changed (HTML5 revision 1404).
1148    
1149    2008-04-06  Wakaba  <wakaba@suika.fam.cx>
1150    
1151            * HTML.pm.src: Category sets that are no longer used are removed.
1152    
1153    2008-04-06  Wakaba  <wakaba@suika.fam.cx>
1154    
1155            * HTML.pm.src: The ->[1] property of stack entries are now
1156            replaced by constants representing element category.
1157    
1158    2008-04-06  Wakaba  <wakaba@suika.fam.cx>
1159    
1160            * HTML.pm.src: Don't use local name stored in stack (i.e. ->[1])
1161            for error reporting.  (This is a preparation for using constant
1162            value for ->[1].)
1163    
1164    2008-03-22  Wakaba  <wakaba@suika.fam.cx>
1165    
1166            * RDFXML.pm: Typo fixed.
1167    
1168    2008-03-22  Wakaba  <wakaba@suika.fam.cx>
1169    
1170            * ContentChecker.pm: |fact_level| is now treated
1171            as same as |must_level|, i.e. level = |m|.
1172            (check_element): Make list of URIs in the DOM.
1173    
1174    2008-03-21  Wakaba  <wakaba@suika.fam.cx>
1175    
1176            * RDFXML.pm: Language accessor implemented.
1177            Local (null-namespace) attribute support.
1178    
1179    2008-03-21  Wakaba  <wakaba@suika.fam.cx>
1180    
1181            * RDFXML.pm: Factored out ID checking code.
1182    
1183    2008-03-21  Wakaba  <wakaba@suika.fam.cx>
1184    
1185            * RDFXML.pm: TODO items noted.  Validation of ID
1186            and URI attributes is implemented.  Warn if unknown
1187            value is used in rdf:parseType="" attribute.
1188    
1189            * URIChecker.pm (check_rdf_uri_reference): New function.
1190    
1191    2008-03-21  Wakaba  <wakaba@suika.fam.cx>
1192    
1193            * RDFXML.pm: bnodeid implemented.  Relative references
1194            are now resolved.
1195    
1196    2008-03-21  Wakaba  <wakaba@suika.fam.cx>
1197    
1198            * ContentChecker.pm: RDF reification implemented.
1199    
1200            * RDFXML.pm: undef vs false bug fixed.
1201            Reification implemented.
1202    
1203    2008-03-21  Wakaba  <wakaba@suika.fam.cx>
1204    
1205            * RDFXML.pm: s/id/ID/ for attribute name.
1206            The |node| arguments are added for |ontriple| calls.
1207            Too many "attribute not allowed" errors were raised.
1208    
1209            * ContentChecker.pm: Initial experimental support for rdf:RDF
1210            element.
1211    
1212    2008-03-21  Wakaba  <wakaba@suika.fam.cx>
1213    
1214            * RDFXML.pm: New module.
1215    
1216    2008-03-20  Wakaba  <wakaba@suika.fam.cx>
1217    
1218            * HTML.pm.src (set_inner_html): Line/column number
1219            code was old one yet.
1220    
1221    2008-03-20  Wakaba  <wakaba@suika.fam.cx>
1222    
1223            * HTML.pm.src: Better line/column reporting for "duplicate attribute"
1224            errors.  Line/column markings for DOCTYPE, comment, and
1225            character tokens are reintroduced; otherwise,
1226            error location for "not HTML5" error and errors
1227            for implied elements are not attached.
1228    
1229    2008-03-20  Wakaba  <wakaba@suika.fam.cx>
1230    
1231            * HTML.pm.src: Set line/column numbers to attributes.
1232    
1233            * NanoDOM.pm (create_attribute_ns, set_attribute_node_ns): Added.
1234            (value): Setter implemented.
1235    
1236            * mkhtmlparser.pl: Set line/column numbers to Attr nodes.
1237    
1238    2008-03-20  Wakaba  <wakaba@suika.fam.cx>
1239    
1240            * HTML.pm.src: Unused line/column markings are removed.
1241    
1242    2008-03-20  Wakaba  <wakaba@suika.fam.cx>
1243    
1244            * HTML.pm.src (_get_next_token): Remove |first_start_tag|
1245            flag, which is no longer used.
1246    
1247    2008-03-17  Wakaba  <wakaba@suika.fam.cx>
1248    
1249            * HTML.pm.src: Set line/column information to element nodes.
1250    
1251            * mkhtmlparser.pl (!!!create-element, !!!insert-element,
1252            and !!!insert-element-t): Set line/column information to
1253            element nodes.
1254    
1255    2008-03-17  Wakaba  <wakaba@suika.fam.cx>
1256    
1257            * HTML.pm.src (_get_next_token): The first "<" character
1258            in "<?", "<>", or "</>" should be the error point.
1259    
1260    2008-03-16  Wakaba  <wakaba@suika.fam.cx>
1261    
1262            * HTML.pm.src: Some more fixes on error position reporting.
1263    
1264    2008-03-16  Wakaba  <wakaba@suika.fam.cx>
1265    
1266            * HTML.pm.src: Token-level precious error reporting.
1267    
1268    2008-03-16  Wakaba  <wakaba@suika.fam.cx>
1269    
1270            * HTML.pm.src: Preparation for more precious error point
1271            reporting.
1272    
1273    2008-03-11  Wakaba  <wakaba@suika.fam.cx>
1274    
1275            * HTML.pm.src: Error type revised.
1276    
1277    2008-03-11  Wakaba  <wakaba@suika.fam.cx>
1278    
1279            * HTML.pm.src: Similar codes are merged together, again.
1280    
1281    2008-03-11  Wakaba  <wakaba@suika.fam.cx>
1282    
1283            * HTML.pm.src: Similar codes are merged together.
1284    
1285    2008-03-10  Wakaba  <wakaba@suika.fam.cx>
1286    
1287            * mkhtmlparser.pl: Set "level" parameter to parse errors.
1288    
1289            * HTML.pm.src: Code refined.
1290    
1291    2008-03-09  Wakaba  <wakaba@suika.fam.cx>
1292    
1293            * HTML.pm.src: |</body>| treatement has been changed (HTML5
1294            revision 1348).  Note that I really don't know this makes
1295            any difference in the black-box behavior of the parser.
1296    
1297    2008-03-09  Wakaba  <wakaba@suika.fam.cx>
1298    
1299            * HTML.pm.src: New end-of-file token implementation (HTML5
1300            revision 1348).
1301    
1302    2008-03-09  Wakaba  <wakaba@suika.fam.cx>
1303    
1304            * HTML.pm.src: |applet| support (HTML5 revision 1347).
1305    
1306    2008-03-09  Wakaba  <wakaba@suika.fam.cx>
1307    
1308            * HTML.pm.src: Foster parenting in AAA (HTML5 revision 1343).
1309    
1310    2008-03-09  Wakaba  <wakaba@suika.fam.cx>
1311    
1312            * HTML.pm.src: Support for |<input>| in the "in select" insertion
1313            mode and support for the "in select in table" insertion mode (HTML5
1314            revision 1342).
1315    
1316    2008-03-09  Wakaba  <wakaba@suika.fam.cx>
1317    
1318            * HTML.pm.src: No foster parenting for <script> and <script>
1319            in non-tainted <table>s (HTML5 revision 1336).
1320    
1321    2008-03-09  Wakaba  <wakaba@suika.fam.cx>
1322    
1323            * HTML.pm.src: Ignore white space characters between <html>
1324            and <head> (HTML5 revision 1332).
1325    
1326    2008-03-09  Wakaba  <wakaba@suika.fam.cx>
1327    
1328            * HTML.pm.src: Treat <input type=hidden> as if it were a
1329            white space (HTML5 revision 1331).
1330    
1331    2008-03-08  Wakaba  <wakaba@suika.fam.cx>
1332    
1333            * HTML.pm.src: Ignore U+000A at the beginning of a |listing|
1334            element (HTML5 revision 1330).
1335    
1336    2008-03-08  Wakaba  <wakaba@suika.fam.cx>
1337    
1338            * HTML.pm.src: <title> is always appended to the current
1339            element (HTML5 revision 1328).
1340    
1341    2008-03-08  Wakaba  <wakaba@suika.fam.cx>
1342    
1343            * HTML.pm.src: White space in tainted tables are moved
1344            into foster parents (HTML5 revision 1326).
1345    
1346    2008-03-08  Wakaba  <wakaba@suika.fam.cx>
1347    
1348            * HTML.pm.src: Reduce errors from foster parenting cases (HTML5
1349            revision 1321).
1350    
1351    2008-03-08  Wakaba  <wakaba@suika.fam.cx>
1352    
1353            * HTML.pm.src: |</h/n/>| case code rearranged to align with
1354            the spec (HTML5 revision 1320).  Note that we finally complete
1355            all of HTML5 revision 1320 changes.
1356    
1357    2008-03-08  Wakaba  <wakaba@suika.fam.cx>
1358    
1359            * HTML.pm.src: |</form>| now works similar to |</div>| for unclosed
1360            tags (HTML5 revision 1320).
1361    
1362    2008-03-08  Wakaba  <wakaba@suika.fam.cx>
1363    
1364            * HTML.pm.src: |</p>| case rearranged with no actual change in fact.
1365    
1366    2008-03-08  Wakaba  <wakaba@suika.fam.cx>
1367    
1368            * HTML.pm.src: A "generate implied end tags" code (t409.1)
1369            could not be reached so that it is now removed (HTML5 revision
1370            1320).
1371    
1372    2008-03-08  Wakaba  <wakaba@suika.fam.cx>
1373    
1374            * HTML.pm.src: Code for the case of |</div>| and so on are revised
1375            to align with new spec text (HTML5 revision 1320).
1376    
1377    2008-03-08  Wakaba  <wakaba@suika.fam.cx>
1378    
1379            * HTML.pm.src: Remove strange |if| condition; however, it should
1380            have had no harm in theory.
1381    
1382    2008-03-08  Wakaba  <wakaba@suika.fam.cx>
1383    
1384            * HTML.pm.src (_tree_construction_main): '</p>' in body
1385            case is split from other end tags for the preparation
1386            of implementing HTML revision 1320.
1387    
1388    2008-03-07  Wakaba  <wakaba@suika.fam.cx>
1389    
1390            * HTML.pm.src: Simplified "generate implied end tag" (HTML5
1391            revision 1320).
1392    
1393    2008-03-07  Wakaba  <wakaba@suika.fam.cx>
1394    
1395            * HTML.pm.src (_tree_construction_main): Merge rules for "h1"
1396            and "div" (HTML5 revision 1318).  Add comments to where
1397            |form| pointer association codes should be inserted (HTML5 revision
1398            1319).
1399    
1400    2008-03-06  Wakaba  <wakaba@suika.fam.cx>
1401    
1402            * HTML.pm.src: <html> treatement refined (HTML5 revision 1314).
1403    
1404    2008-03-05  Wakaba  <wakaba@suika.fam.cx>
1405    
1406            * HTML.pm.src: Since the case t268 should never be reached (no
1407            other token type, there are), it is replaced by a |die| statement.
1408    
1409    2008-03-05  Wakaba  <wakaba@suika.fam.cx>
1410    
1411            * HTML.pm.src: Typo fixed.
1412    
1413    2008-03-04  Wakaba  <wakaba@suika.fam.cx>
1414    
1415            * HTML.pm.src (_tree_construction_initial): Some limited quirks
1416            doctypes were not uppercased for comparison.
1417    
1418    2008-03-03  Wakaba  <wakaba@suika.fam.cx>
1419    
1420            * HTML.pm.src (tree construction and set_inner_html): Checkpoints
1421            are added.
1422    
1423    2008-03-03  Wakaba  <wakaba@suika.fam.cx>
1424    
1425            * HTML.pm.src (_tokenize_attempt_to_consume_an_entity): Checkpoints
1426            are set.  Cases that are unlikely reached are noted as so.
1427    
1428    2008-03-03  Wakaba  <wakaba@suika.fam.cx>
1429    
1430            * HTML.pm.src: Checkpoints for debugging are added.
1431    
1432            * mkhtmlparser.pl: Support for |!!!cp| syntax.
1433    
1434    2008-03-03  Wakaba  <wakaba@suika.fam.cx>
1435    
1436            * HTML.pm.src, mkhtmlparser.pl: s/_input_character/_char/g
1437            for simplicity.
1438    
1439    2008-03-03  Wakaba  <wakaba@suika.fam.cx>
1440    
1441            * HTML.pm.src: Flag name changed: s/correct/force-quirks/g (HTML5
1442            revision 1307).
1443    
1444    2008-03-03  Wakaba  <wakaba@suika.fam.cx>
1445    
1446            * HTML.pm.src (_get_next_token): Where the /incorrect/ flag
1447            is set are changed (HTML5 revision 1305).
1448    
1449    2008-03-02  Wakaba  <wakaba@suika.fam.cx>
1450    
1451            * HTML.pm.src: Raise a parse error for |<span ===>| (HTML5 revision
1452            1292).  Entities are not parsed in comment-like part in RCDATA
1453            elements (HTML5 revision 1294).  Allow bare & at the end
1454            of attribute value literals (HTML5 revision 1296).  More
1455            quirks mode doctypes (HTML5 revision 1302).  Requires spaces
1456            between attributes and ban attribute names or unquoted
1457            attribute values containing single or double quotes (HTML5
1458            revision 1303).
1459    
1460    2008-03-02  Wakaba  <wakaba@suika.fam.cx>
1461    
1462            * ContentChecker.pm: Typo fixed.  Don't raise "character encoding"
1463            and related errors unless it is an HTML document (though the spec
1464            is unclear on whether it is applied to XHTML document).
1465    
1466            * HTML.pm (%HTMLAttrStatus): WF2 repetition model attributes
1467            are added.
1468    
1469    2008-03-02  Wakaba  <wakaba@suika.fam.cx>
1470    
1471            * HTML.pm.src: s/local_name/manakai_local_name/g.
1472    
1473    2008-03-01  Wakaba  <wakaba@suika.fam.cx>
1474    
1475            * _NamedEntityList.pm: Updated (HTML5 revision 1286).
1476    
1477            * HTML.pm.src: |charset| in |content| attribute is
1478            case-insensitive (HTML5 revision 1270).
1479    
1480    2008-02-26  Wakaba  <wakaba@suika.fam.cx>
1481    
1482            * ContentChecker.pm: New status constants are added.
1483            ($ElementDefault): |status| added.
1484            (check_element): Err for non-standard or deprecated elements.
1485            (_attr_status_info): For non-standard or deprecated attributes.
1486    
1487    2008-02-24  Wakaba  <wakaba@suika.fam.cx>
1488    
1489            * ContentChecker.pm (_attr_status_info): New internal method.
1490    
1491    2008-02-24  Wakaba  <wakaba@suika.fam.cx>
1492    
1493            * ContentChecker.pm (check_element): Element standardized
1494            status information is now dispatched.
1495    
1496    2008-02-24  Wakaba  <wakaba@suika.fam.cx>
1497    
1498            * ContentChecker.pm (check_element): Fix |del|-and-significant
1499            problem by adding some more arguments.
1500    
1501    2008-02-24  Wakaba  <wakaba@suika.fam.cx>
1502    
1503            * ContentChecker.pm (check_element): Use context of
1504            container-for-the-purpose-of-content-model element (not transparent
1505            element) for |check_child_element| calling and significant
1506            text flag marking.  This reintroduces |<del>|-and-significant
1507            problem again.
1508    
1509    2008-02-24  Wakaba  <wakaba@suika.fam.cx>
1510    
1511            * ContentChecker.pm (check_element): Make semi-transparent
1512            elements ignored for the purpose of phase changes in
1513            content model checking.
1514    
1515    2008-02-23  Wakaba  <wakaba@suika.fam.cx>
1516    
1517            * ContentChecker.pm (check_element): In-element state
1518            was not properly managed for transparent cases.
1519    
1520    2008-02-23  Wakaba  <wakaba@suika.fam.cx>
1521    
1522            * ContentChecker.pm (check_element): Support for |video|
1523            and |audio| as semi-transparent elements.
1524    
1525    2008-02-23  Wakaba  <wakaba@suika.fam.cx>
1526    
1527            * ContentChecker.pm ($HTMLSemiTransparentElements): New.
1528            (check_element): s/minuses/minus_elements/, s/pluses/plus_elements/.
1529            Support for |html:object| as a semi-transparent element.
1530    
1531    2008-02-23  Wakaba  <wakaba@suika.fam.cx>
1532    
1533            * ContentChecker.pm (check_element): The way to traverse
1534            the tree is entirely revised to make it easier to track
1535            the state of ancestors/descendants.  As a result of this
1536            revision (which rewrites almost all of Whatpm::ContentChecker::HTML),
1537            support for content model checking for HTML elements |figure|,
1538            |object|, |video|, and |audio| and checking for XML elements (and
1539            some XMLNS checkings) are dropped for now.  They will be
1540            reimplemented in due cource.
1541    
1542    2008-02-17  Wakaba  <wakaba@suika.fam.cx>
1543    
1544            * HTML.pm.src: |>| in public or system literal closes the DOCTYPE
1545            token (HTML5 revision 1225).
1546    
1547    2008-02-17  Wakaba  <wakaba@suika.fam.cx>
1548    
1549            * ContentChecker.pm ({unsupported_level}): New value.
1550    
1551            * HTML.pm.src: Save whether |meta| |content| attribute
1552            contains character references or not.
1553    
1554    2008-02-17  Wakaba  <wakaba@suika.fam.cx>
1555    
1556            * ContentChecker.pm (_get_children): (Incompleted) attempt to
1557            imlement significant content checking for contents
1558            with |del| elements.
1559    
1560    2008-02-17  Wakaba  <wakaba@suika.fam.cx>
1561    
1562            * ContenteChecker.pm ($HTMLTransparentElements): More
1563            elements are added.
1564            (_get_children): HTML |object| elements are now semi-transparent.
1565    
1566            * NanoDOM.pm (manakai_html, manakai_head): New methods.
1567    
1568    2008-02-16  Wakaba  <wakaba@suika.fam.cx>
1569    
1570            * CacheManifest.pm: HTML5 revision 1211 implemented.
1571    
1572            * CacheManifest.pod: Updated.
1573    
1574    2008-02-10  Wakaba  <wakaba@suika.fam.cx>
1575    
1576            * ContentChecker.pm (check_document, check_element): Support
1577            for second argument ($onsubdoc).
1578            (_get_css_parser): Removed (now it is part of WDCC).
1579    
1580    2008-02-09  Wakaba  <wakaba@suika.fam.cx>
1581    
1582            * ContentChecker.pm (_get_css_parser): New.
1583    
1584    2007-11-25  Wakaba  <wakaba@suika.fam.cx>
1585    
1586            * ContentChecker.pm ($AnyChecker): Old way to add child elements
1587            for checking had been used.
1588    
1589    2007-11-25  Wakaba  <wakaba@suika.fam.cx>
1590    
1591            * ContentChecker.pm (check_element): New todo item type |descendant|.
1592    
1593    2007-11-23  Wakaba  <wakaba@suika.fam.cx>
1594    
1595            * IMTChecker.pm: Revised to raise errors and warnings as (poorly)
1596            specced in RFC 2046 and RFC 4288.
1597            (application/atom+xml): Definition added.
1598    
1599    2007-11-23  Wakaba  <wakaba@suika.fam.cx>
1600    
1601            * URIChecker.pm: Make RFC 3986 should-level errors
1602            warnings (rather than SHOULD-level errors).
1603    
1604    2007-11-23  Wakaba  <wakaba@suika.fam.cx>
1605    
1606            * NanoDOM.pm (get_user_data, set_user_data): New methods.
1607    
1608            * HTML.pm.src: A flag for character references in attribute
1609            values are added.  Set |manakai_has_reference| user data
1610            to |charset| attribute.
1611    
1612    2007-11-23  Wakaba  <wakaba@suika.fam.cx>
1613    
1614            * NanoDOM.pm (input_encoding, manakai_charset, manakai_has_bom): New
1615            attributes.
1616    
1617            * ContentChecker.pm (check_document): Warn if charset requirements
1618            cannot be tested.
1619    
1620    2007-11-19  Wakaba  <wakaba@suika.fam.cx>
1621    
1622            * HTML.pm.src (parse_byte_string): Detect charset
1623            by universalchardet if charset parameter is not specified.
1624    
1625            * Makefile (Charset-all, Charset-clean): New rules.
1626    
1627    2007-11-18  Wakaba  <wakaba@suika.fam.cx>
1628    
1629            * ContentChecker.pm (check_document): Check the existence
1630            of character encoding declaration and selection of encoding
1631            for HTML document.
1632    
1633    2007-11-18  Wakaba  <wakaba@suika.fam.cx>
1634    
1635            * ContentType.pm (get_sniffed_type): Return also the official
1636            type in list context.
1637    
1638    2007-11-18  Wakaba  <wakaba@suika.fam.cx>
1639    
1640            * ContentType.pm: Sniffing with leading white space
1641            ignoring (HTML5 revisions 1013 and 1016).
1642    
1643    2007-11-18  Wakaba  <wakaba@suika.fam.cx>
1644    
1645            * ContentType.pm: HTML5 revision 1013 changes, except for leading
1646            white spaces, are implemented.
1647    
1648    2007-11-11  Wakaba  <wakaba@suika.fam.cx>
1649    
1650            * HTML.pm.src (parse_char_string): Set |inner_encoding|
1651            attribute if possible.
1652    
1653    2007-11-11  Wakaba  <wakaba@suika.fam.cx>
1654    
1655            * HTML.pm.src (parse_byte_string): New method.
1656            (parse_char_string): New alias for |parse_string|.
1657            (main phase): Invoking "change the encoding" algorithm if desired.
1658    
1659            * HTML.pod: Updated.
1660    
1661    2007-11-11  Wakaba  <wakaba@suika.fam.cx>
1662    
1663            * HTML.pod (get_inner_html): Removed.
1664    
1665            * Makefile (HTML-all, HTML-clean): New.
1666    
1667    2007-11-11  Wakaba  <wakaba@suika.fam.cx>
1668    
1669            * HTML.pm.src (get_inner_html): Removed (moved to HTML/Serializer.pm).
1670    
1671    2007-11-08  Wakaba  <wakaba@suika.fam.cx>
1672    
1673            * mklinktypelist.pl: s/noreferer/noreferrer/ (HTML5 revision 1132).
1674    
1675    2007-11-04  Wakaba  <wakaba@suika.fam.cx>
1676    
1677            * Makefile: |CacheManifest.html| is added.
1678    
1679            * CacheManifest.pod: New file.
1680    
1681    2007-11-04  Wakaba  <wakaba@suika.fam.cx>
1682    
1683            * CacheManifest.pm: New module.
1684    
1685    2007-11-04  Wakaba  <wakaba@suika.fam.cx>
1686    
1687            * HTML.pm.src: Support for application cache selection algorithm
1688            callback.
1689    
1690    2007-11-04  Wakaba  <wakaba@suika.fam.cx>
1691    
1692            * mklinktypelist.pl: Support for rel=noreferer (HTML5 revision 1118).
1693    
1694    2007-10-17  Wakaba  <wakaba@suika.fam.cx>
1695    
1696            * Makefile (clean): New rule.
1697    
1698            * NanoDOM.pm (public_id, system_id): New attributes.
1699    
1700    2007-10-17  Wakaba  <wakaba@suika.fam.cx>
1701    
1702            * Makefile (CSS-all, CSS-clean, clean): New rules.
1703    
1704    2007-10-14  Wakaba  <wakaba@suika.fam.cx>
1705    
1706            * ContentChecker.pm (check_document): Support for
1707            new |is_xml_root| flag.
1708            (check_element): Support for new |pluses| state.
1709            (_add_pluses): New method.
1710            (_remove_minuses): Support for new |minus| item.
1711    
1712    2007-09-24  Wakaba  <wakaba@suika.fam.cx>
1713    
1714            * ContentChecker.pm: Raise specific error for invalid
1715            root element.
1716    
1717    2007-09-24  Wakaba  <wakaba@suika.fam.cx>
1718    
1719            * ContentChecker.pm: Set level values for later uses.
1720    
1721    2007-09-09  Wakaba  <wakaba@suika.fam.cx>
1722    
1723            * ContentChecker.pm: Support for language tag validation.
1724    
1725    2007-09-09  Wakaba  <wakaba@suika.fam.cx>
1726    
1727            * LangTag.pm (check_rfc3066_language_tag): New method.
1728    
1729    2007-09-09  Wakaba  <wakaba@suika.fam.cx>
1730    
1731            * LangTag.pm: New module.
1732    
1733    2007-09-04  Wakaba  <wakaba@suika.fam.cx>
1734    
1735            * HTML.pm.src: Some error types were wrong.
1736    
1737    2007-08-17  Wakaba  <wakaba@suika.fam.cx>
1738    
1739            * CSS/: New directory.
1740    
1741    2007-08-17  Wakaba  <wakaba@suika.fam.cx>
1742    
1743            * ContentChecker.pm (_check_get_children): Support
1744            for |noscript| in |head|.
1745    
1746    2007-08-12  Wakaba  <wakaba@suika.fam.cx>
1747    
1748            * URI/: New directory.
1749    
1750    2007-08-11  Wakaba  <wakaba@suika.fam.cx>
1751    
1752            * HTML.pm.src: Tokenizer's states are now represented in
1753            number.
1754    
1755    2007-08-11  Wakaba  <wakaba@suika.fam.cx>
1756    
1757            * HTML.pm.src: |or|s for insertion modes are replaced
1758            by |&|s.
1759    
1760    2007-08-11  Wakaba  <wakaba@suika.fam.cx>
1761    
1762            * HTML.pm.src: Token types are now represented in number.
1763    
1764    2007-08-11  Wakaba  <wakaba@suika.fam.cx>
1765    
1766            * ContentType.pm (SEE ALSO): Updated.
1767    
1768            * HTML.pm.src: Insertion modes are now represented in number.
1769    
1770    2007-08-11  Wakaba  <wakaba@suika.fam.cx>
1771    
1772            * ContentType.pm: Sniffing for bitmap images (HTML5 revision
1773            999) is implemented.
1774    
1775    2007-08-08  Wakaba  <wakaba@suika.fam.cx>
1776    
1777            * ContentType.pm: Sniffing for |<script| (HTML5 revision
1778            983) is implemented.
1779    
1780    2007-08-06  Wakaba  <wakaba@suika.fam.cx>
1781    
1782            * ContentChecker.pod: New documentation.
1783    
1784            * Makefile: A rule for |ContentChecker.html| is added.
1785    
1786            * ContentChecker.pm: A pod "LICENSE" section is added.
1787    
1788            * NanoDOM.pm ($VERSION): New variable.
1789    
1790    2007-08-05  Wakaba  <wakaba@suika.fam.cx>
1791    
1792            * H2H.pm: |b|, |i|, and |sub| are added to the
1793            list of allowed HTML elements.
1794    
1795    2007-08-05  Wakaba  <wakaba@suika.fam.cx>
1796    
1797            * H2H.pm: |samp| is added to the list of allowed
1798            HTML elements.
1799    
1800            * URIChecker.pm (check_iri): New.
1801            (check_iri_reference): Error type for IRI reference
1802            syntax error is changed.
1803    
1804    2007-08-04  Wakaba  <wakaba@suika.fam.cx>
1805    
1806            * ContentChecker.pm: Reference to the |Whatpm::ContentChecker::Atom|
1807            is added.
1808            (check_document): Load appropriate module before validation.
1809    
1810    2007-08-04  Wakaba  <wakaba@suika.fam.cx>
1811    
1812            * ContentChecker/: New directory.
1813    
1814    2007-08-04  Wakaba  <wakaba@suika.fam.cx>
1815    
1816            * ContentChecker.pm: HTML |time| element is implemented.
1817    
1818            * HTMLTable.pm: Comments are updated as HTML5 is revised.
1819    
1820    2007-07-21  Wakaba  <wakaba@suika.fam.cx>
1821    
1822            * ContentChecker.pm (check_document): Return value
1823            even if no document element is found.
1824    
1825    2007-07-21  Wakaba  <wakaba@suika.fam.cx>
1826    
1827            * HTML.pm.src: |$in_body| is no longer a function.
1828    
1829    2007-07-21  Wakaba  <wakaba@suika.fam.cx>
1830    
1831            * HTML.pm.src: The |$in_body| code has been moved down.
1832    
1833    2007-07-21  Wakaba  <wakaba@suika.fam.cx>
1834    
1835            * HTML.pm.src: The "trailing end" insertion mode
1836            is split into "after html body" and "after html frameset"
1837            insertion modes.  Their codes are merged with "after body"
1838            and "after frameset" codes.  |$previous_insertion_mode|
1839            has been removed.  "after frameset" code is
1840            merged with "in frameset" code.
1841    
1842    2007-07-21  Wakaba  <wakaba@suika.fam.cx>
1843    
1844            * HTML.pm.src: The "before head" insertion mode is
1845            merged with the "in head" insertion mode.
1846    
1847    2007-07-21  Wakaba  <wakaba@suika.fam.cx>
1848    
1849            * HTML.pm.src: Cases in "in head" insertion mode are
1850            reorganized.
1851    
1852    2007-07-21  Wakaba  <wakaba@suika.fam.cx>
1853    
1854            * HTML.pm.src: Some cases in "in table" insertion mode
1855            are merged.
1856    
1857    2007-07-21  Wakaba  <wakaba@suika.fam.cx>
1858    
1859            * HTML.pm.src: The "in row" insertion mode is merged
1860            with "in table" insertion mode.
1861    
1862    2007-07-21  Wakaba  <wakaba@suika.fam.cx>
1863    
1864            * HTML.pm.src: The "in table" and "in table body" insertion
1865            modes are merged.
1866    
1867    2007-07-21  Wakaba  <wakaba@suika.fam.cx>
1868    
1869            * HTML.pm.src: There is no "in table head" or "in table foot"
1870            insertion mode!
1871    
1872    2007-07-21  Wakaba  <wakaba@suika.fam.cx>
1873    
1874            * HTML.pm.src: |<noframes>| "in frameset" and "in noframes"
1875            now directly invoke the handler.
1876    
1877    2007-07-21  Wakaba  <wakaba@suika.fam.cx>
1878    
1879            * HTML.pm.src: Codes for "in cell" insertion mode
1880            is merged to the "in body" insertion mode code.
1881    
1882    2007-07-21  Wakaba  <wakaba@suika.fam.cx>
1883    
1884            * HTML.pm.src: Codes for "in body" and "in caption"
1885            insertion modes are merged.
1886    
1887    2007-07-21  Wakaba  <wakaba@suika.fam.cx>
1888    
1889            * HTML.pm.src: Two |!!!next-token|s were missing.
1890    
1891    2007-07-21  Wakaba  <wakaba@suika.fam.cx>
1892    
1893            * HTML.pm.src: Use numeric constant for |{content_mode}|
1894            instead of string constant for |{content_model_flag}|.
1895    
1896    2007-07-21  Wakaba  <wakaba@suika.fam.cx>
1897    
1898            * HTML.pm.src: Add the name of the attribute
1899            to the "duplicate attribute" error.
1900    
1901    2007-07-17  Wakaba  <wakaba@suika.fam.cx>
1902    
1903            * ContentChecker.pm: Return the |class| node list.
1904    
1905    2007-07-17  Wakaba  <wakaba@suika.fam.cx>
1906    
1907            * ContentChecker.pm: Return the |id| node list.
1908    
1909            * HTML.pm.src: A typo is fixed.
1910    
1911    2007-07-16  Wakaba  <wakaba@suika.fam.cx>
1912    
1913            * ContentChecker.pm: Drop wrong |level => 'error'| specification
1914            from "in HTML:xml:lang" error.  Character position
1915            is now the last part of the error type in the URI error
1916            description.  Report "unsupported" status for language
1917            tags, media queries, script codes, and style sheets.
1918    
1919    2007-07-16  Wakaba  <wakaba@suika.fam.cx>
1920    
1921            * ContentChecker.pm: Report error if |xml:lang|
1922            in HTML, |lang| in XML, |xmlns| in XML, and |meta| |charset|
1923            in XML.
1924    
1925            * NanoDOM.pm (Attr.owner_document): New attribute.
1926    
1927    2007-07-16  Wakaba  <wakaba@suika.fam.cx>
1928    
1929            * HTML.pm.src: The character immediately following
1930            a bare |hcro| was discarded.  Fix handling of
1931            entity references in attribute values.
1932    
1933    2007-07-16  Wakaba  <wakaba@suika.fam.cx>
1934    
1935            * HTML.pm.src (main and trailin end phases): Token
1936            types |DOCTYPE|, |comment|, |end-of-file|, and |<html>| are
1937            factored out.  Error types |in html:#DOCTYPE|
1938            and |after html:#DOCTYPE| are merged
1939            into |DOCTYPE in the middle|.  |</frameset>|
1940            in fragment parsing mode changed the
1941            insertion mode.
1942    
1943    2007-07-16  Wakaba  <wakaba@suika.fam.cx>
1944    
1945            * HTML.pm.src: |$phase| has been removed; The |trailing end|
1946            phase is now an insertion mode.  Treatments for white
1947            space character tokens were incorrect for some
1948            insertion modes.  An old |meta| case was not removed.
1949    
1950    2007-07-16  Wakaba  <wakaba@suika.fam.cx>
1951    
1952            * HTML.pm.src: |meta| charset declaration extraction
1953            implemented (but changing the encoding is not yet:-).
1954    
1955    2007-07-15  Wakaba  <wakaba@suika.fam.cx>
1956    
1957            * Charset/: New directory.
1958    
1959    2007-07-15  Wakaba  <wakaba@suika.fam.cx>
1960    
1961            * H2H.pm: New Perl module (created from
1962            manakai's H2H.dis).
1963    
1964    2007-07-15  Wakaba  <wakaba@suika.fam.cx>
1965    
1966            * XMLSerializer.pm: New Perl module (created from
1967            manakai's SimpleLS.dis).
1968    
1969    2007-07-07  Wakaba  <wakaba@suika.fam.cx>
1970    
1971            * HTML.pm.src: |<!---x-->| was not processed correctly.
1972    
1973    2007-07-01  Wakaba  <wakaba@suika.fam.cx>
1974    
1975            * HTML.pm.src: Report correct error message
1976            for |<body></div></body>|.
1977    
1978    2007-07-01  Wakaba  <wakaba@suika.fam.cx>
1979    
1980            * HTMLTable.pm: An error description was incorrect.
1981    
1982    2007-06-30  Wakaba  <wakaba@suika.fam.cx>
1983    
1984            * ContentChecker.pm: Return |{term}| list.
1985    
1986    2007-06-30  Wakaba  <wakaba@suika.fam.cx>
1987    
1988            * HTML.pm.src: HTML5 revisions 961-966 (</p>, </br>,
1989            nested <nobr>, implied </tbody>, </tfoot>, and </thead>,
1990            and <title> outside of head).
1991    
1992    2007-06-30  Wakaba  <wakaba@suika.fam.cx>
1993    
1994            * IMTChecker.pm: Report warning for unregistered
1995            and private types/subtypes.
1996    
1997            * ContentChecker.pm, HTML.pm.src, IMTChecker.pm,
1998            URIChecker.pm, HTMLTable.pm: Error messages are now
1999            consistent; they are all listed in
2000            <http://suika.fam.cx/gate/2005/sw/Whatpm%20Error%20Types>.
2001    
2002    2007-06-25  Wakaba  <wakaba@suika.fam.cx>
2003    
2004            * ContentChecker.pm: |<img ismap>| not in |<a></a>|
2005            is now erred.  |<datalist>| is implemented.
2006            Attribute checker for |<command>| and |<menu>| are
2007            added.  Support for |contextmenu| global attribute
2008            is added.
2009    
2010    2007-06-25  Wakaba  <wakaba@suika.fam.cx>
2011    
2012            * HTML.pm.src (_reset_insertion_mode): Interpretation
2013            of Step 3 has been changed.
2014    
2015    2007-06-25  Wakaba  <wakaba@suika.fam.cx>
2016    
2017            * HTML.pm.src: Late |<html>| parse error is implemented.
2018    
2019    2007-06-24  Wakaba  <wakaba@suika.fam.cx>
2020    
2021            * URIChecker.pm (check_iri_reference): A |decode| method name was
2022            incorrect.
2023    
2024            * ContentChecker.pm: Support for the |footer| element.
2025            Check URI syntax for space-separated URI attributes.
2026            Support for the |tabindex| attribute.  Support
2027            for |datetime| attribute.
2028    
2029    2007-06-24  Wakaba  <wakaba@suika.fam.cx>
2030    
2031            * HTML.pm.src: HTML5 revision 1.144 (&#x0D;) and 1.145 (invalid
2032            character references).  HTML5 revision 1.146 (white space
2033            characters before root start tag).  HTML5 revision
2034            1.148 (named character references in attribute values).
2035            HTML5 revision 1.152 (<plaintext>.innerHTML get).
2036    
2037    2007-06-24  Wakaba  <wakaba@suika.fam.cx>
2038    
2039            * HTML.pm.src: HTML5 revisions 1.142 and 1.143 (<noscript>
2040            in <head>).
2041    
2042    2007-06-24  Wakaba  <wakaba@suika.fam.cx>
2043    
2044            * HTML.pm.src: HTML5 revision 935 (<base>, <link>, <meta>
2045            in body).
2046    
2047            * ContentChecker.pm: HTML5 revision 938 (scoped="").
2048    
2049    2007-06-24  Wakaba  <wakaba@suika.fam.cx>
2050    
2051            * HTML.pm.src: HTML5 revision 923 (matching end tag in CDATA
2052            or RCDATA in fragment parsing mode).  HTML5 revision
2053            924 (<!--> and <!--->).  HTML5 revision 926 (hn in hn).
2054    
2055    2007-06-23  Wakaba  <wakaba@suika.fam.cx>
2056    
2057            * HTML.pm.src (get_inner_html): HTML5 revision 922 (inner_html
2058            for <pre> and <textarea>).
2059    
2060    2007-06-23  Wakaba  <wakaba@suika.fam.cx>
2061    
2062            * HTML.pm.src: HTML5 revision 920 (<isindex>).
2063    
2064    2007-06-23  Wakaba  <wakaba@suika.fam.cx>
2065    
2066            * HTML.pm.src: HTML5 revision 918 (</head>, </body>, </html>).
2067    
2068    2007-06-23  Wakaba  <wakaba@suika.fam.cx>
2069    
2070            * HTML.pm.src: HTML5 revision 916 (</body>).
2071            HTML5 revision 917 (conforming bare &).
2072    
2073    2007-06-23  Wakaba  <wakaba@suika.fam.cx>
2074    
2075            * NanoDOM.pm (manakai_is_html): Setting to false did not work.
2076    
2077            * HTML.pm.src: HTML5 revision 914 (</ in CDATA, RCDATA).
2078            HTML5 revision 915 (<nobr>).
2079    
2080    2007-06-23  Wakaba  <wakaba@suika.fam.cx>
2081    
2082            * HTML.pm.src: HTML5 revisions 908, 909, 912, and 913 (quirks mode).
2083            
2084            * NanoDOM.pm (manakai_is_html, manakai_compat_mode, compat_mode):
2085            New attributes.
2086    
2087    2007-06-23  Wakaba  <wakaba@suika.fam.cx>
2088    
2089            * HTML.pm.src: HTML5 revisions 900, 901, 902, and 911 (<
2090            in tags).
2091    
2092    2007-06-23  Wakaba  <wakaba@suika.fam.cx>
2093    
2094            * .cvsignore: |Entities.html| is added.
2095    
2096            * HTML.pm.src: |$entity_char| is removed and
2097            requires |Whatpm::_NamedEntityList| instead.
2098            HTML5 revision 898 (refc), except that lack of refc
2099            is parse error.
2100    
2101            * mkentitylist.pl: New script.
2102    
2103            * Makefile (all): |_NamedEntityList.pm| is added.
2104            (_NamedEntityList.pm, Entities.html): New rules.
2105    
2106    2007-06-23  Wakaba  <wakaba@suika.fam.cx>
2107    
2108            * HTML.pm.src: Parse errors immediately after U+000D
2109            were ignored and U+000D immediately following another
2110            U+000D was not converted to U+000A.
2111    
2112    2007-06-23  Wakaba  <wakaba@suika.fam.cx>
2113    
2114            * HTML.pm.src (set_inner_html): HTML5 revision 892 (adopt
2115            nodes before appended).  Parser was not ready for NULL
2116            parse error and escape flag.
2117    
2118            * NanoDOM.pm (adopt_node): New.
2119    
2120    2007-06-23  Wakaba  <wakaba@suika.fam.cx>
2121    
2122            * HTML.pm.src: HTML5 revision 886 (insane comment in
2123            CDATA and RCDATA).  Note that current implementation
2124            is simply repeating what the spec says and it is maybe not
2125            a best way to do it.
2126    
2127    2007-06-23  Wakaba  <wakaba@suika.fam.cx>
2128    
2129            * HTML.pm.src: HTML5 revision 884 (</form> don't close
2130            the form element if a descendant element without implied end tag has
2131            still been open).
2132    
2133    2007-06-23  Wakaba  <wakaba@suika.fam.cx>
2134    
2135            * ContentChecker.pm: HTML5 revision 881 (Make |id| attribute with
2136            space characters non-conforming).
2137    
2138    2007-06-23  Wakaba  <wakaba@suika.fam.cx>
2139    
2140            * HTML.pm.src: An error message was incorrect.
2141            HTML5 revision 869 (C1 character references).
2142            
2143    2007-06-23  Wakaba  <wakaba@suika.fam.cx>
2144    
2145            * HTML.pm.src: HTML5 revision 867 (a LF at the beginning of
2146            a |textarea| is removed).
2147    
2148    2007-06-05  Wakaba  <wakaba@suika.fam.cx>
2149    
2150            * NanoDOM.pm (get_attribute_node_ns): New method.
2151    
2152            * ContentChecker.pm: |script| |async| and |defer|
2153            no longer require |src|.  |async| MUST NOT be
2154            specified if |defer|.  (HTML5 revision 858).
2155    
2156    2007-05-30  Wakaba  <wakaba@suika.fam.cx>
2157    
2158            * HTML.pm.src: |<form><form>| went to inifinite loop.
2159    
2160    2007-05-27  Wakaba  <wakaba@suika.fam.cx>
2161    
2162            * ContentChecker.pm (html): Set |is_root| (allowed
2163            as a document element) flag on.
2164            (new): Removed.
2165            (check_document): New method.
2166    
2167    2007-05-27  Wakaba  <wakaba@suika.fam.cx>
2168    
2169            * ContentChecker.pm (thead, tfoot): Checker specifications
2170            were incorrect.
2171    
2172    2007-05-27  Wakaba  <wakaba@suika.fam.cx>
2173    
2174            * ContentChecker.pm ($HTMLURIAttrChecker): Include
2175            error position in the |type| option of the error.
2176    
2177            * HTMLTable.pm (form_table): The |$onerror| parameter
2178            is now optional.  Some bugs are fixed.
2179    
2180    2007-05-27  Wakaba  <wakaba@suika.fam.cx>
2181    
2182            * HTMLTable.pm: New module.
2183    
2184            * ContentChecker.pm (table): Invoke table model error checker.
2185    
2186            * NanoDOM.pm (first_child, get_attribute_ns): New.
2187    
2188    2007-05-26  Wakaba  <wakaba@suika.fam.cx>
2189    
2190            * ContentChecker.pm ($HTMLLinkTypesAttrChecker): New checker.
2191            (link/@rel, a/@rel, area/@rel): Use new checker.
2192    
2193            * Makefile (_LinkTypeList.pm, RelExtensions.html): New rules.
2194    
2195            * _LinkTypeList.pm: New file.
2196    
2197            * mklinktypelist.pl: New file.
2198    
2199            * .cvsignore: |RelExtensions.html| added.
2200    
2201            * NanoDOM.pm (child_nodes): Returns an empty array
2202            for non-child-containing node types.
2203            (text_content): New attribute.
2204    
2205    2007-05-26  Wakaba  <wakaba@suika.fam.cx>
2206    
2207            * IMTChecker.pm: New module.
2208    
2209            * ContentChecker.pm ($HTMLIMTAttrChecker): Call IMTChecker
2210            to test parameter value validity.
2211    
2212            * HTML.pm.src ($style_start_tag): Attributes were
2213            discarded.
2214    
2215    2007-05-25  Wakaba  <wakaba@suika.fam.cx>
2216    
2217            * ContentChecker.pm ($HTMLURIAttrChecker): Implemented.
2218    
2219    2007-05-25  Wakaba  <wakaba@suika.fam.cx>
2220    
2221            * URIChecker.pm: All recommendations from RFC 3986
2222            and RFC 3987 are listed (not all testable items are checked yet).
2223    
2224    2007-05-25  Wakaba  <wakaba@suika.fam.cx>
2225    
2226            * URIChecker.pm: New module.
2227    
2228    2007-05-20  Wakaba  <wakaba@suika.fam.cx>
2229    
2230            * ContentChecker.pm: Now most attributes are implemented
2231            or associated to some placeholder.
2232            ($ElementDefault): Warn unknown attributes
2233            for unknown elements as "attribute not supported".
2234            ($HTMLLanguageTagAttrChecker, $HTMLMQAttrChecker): New placeholders.
2235            ($HTMLUsemapAttrChecker, $HTMLTargetAttrChecker): New checkers.
2236            (|a| attribute checker): Reimplemented.
2237    
2238    2007-05-20  Wakaba  <wakaba@suika.fam.cx>
2239    
2240            * ContentChecker.pm ($HTMLEventHandlerAttrChecker): New placeholder.
2241            ($HTMLAttrChecker): Event handler content attributes
2242            are added.
2243            (link, embed): Required attribute is now checked.
2244            (embed): Unknown local attributes are no longer warned.
2245    
2246    2007-05-20  Wakaba  <wakaba@suika.fam.cx>
2247    
2248            * ContentChecker.pm ($HTMLSpaceURIsAttrChecker): New placeholder.
2249            ($HTMLIMTAttrChecker): New checker.
2250            (link@rel, link@href, link@type, style@type,
2251            a@href, a@ping, a@ping, a@type, embed@src, embed@type,
2252            object@data, object@type, source@src, source@type, area@alt,
2253            area@shape, area@coords, area@href,
2254            area@ping, area@rel, area@type, script@src,
2255            script@defer, script@async, script@type): Checkers added.
2256    
2257    2007-05-20  Wakaba  <wakaba@suika.fam.cx>
2258    
2259            * ContentChecker.pm: Descendant checking was incorrect.
2260    
2261  2007-05-19  Wakaba  <wakaba@suika.fam.cx>  2007-05-19  Wakaba  <wakaba@suika.fam.cx>
2262    
2263          * ContentChecker.pm: Support |xml:*| and |xmlns:*|          * ContentChecker.pm: Support |xml:*| and |xmlns:*|

Legend:
Removed from v.1.17  
changed lines
  Added in v.1.397

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24