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

Legend:
Removed from v.1.35  
changed lines
  Added in v.1.323

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24