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

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

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

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

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

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24