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

Legend:
Removed from v.1.5  
changed lines
  Added in v.1.384

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24