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

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.336

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24