/[suikacvs]/markup/html/whatpm/Whatpm/ChangeLog
Suika

Contents of /markup/html/whatpm/Whatpm/ChangeLog

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.395 - (hide annotations) (download)
Sun Sep 6 08:02:50 2009 UTC (15 years, 10 months ago) by wakaba
Branch: MAIN
Changes since 1.394: +5 -0 lines
++ whatpm/Whatpm/ChangeLog	6 Sep 2009 08:02:03 -0000
	* HTML.pm.src: Set the |confidence| flag to |irrlevant| when the
	fragment parsing algorithm is invoked (HTML5 revision 2699).

2009-09-06  Wakaba  <wakaba@suika.fam.cx>

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

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24