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

Legend:
Removed from v.1.45  
changed lines
  Added in v.1.338

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24