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

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

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

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

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

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24