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

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

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

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

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

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24