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

Legend:
Removed from v.1.12  
changed lines
  Added in v.1.368

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24