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

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.352

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24