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

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

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24