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

Legend:
Removed from v.1.64  
changed lines
  Added in v.1.358

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24