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

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.349

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24