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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.401 - (hide annotations) (download)
Sun Sep 6 12:53:19 2009 UTC (15 years, 10 months ago) by wakaba
Branch: MAIN
Changes since 1.400: +5 -0 lines
++ whatpm/t/ChangeLog	6 Sep 2009 12:52:28 -0000
	* tree-test-frames.dat: New test data file.

	* HTML-tree.t: Added the new test data file.

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

++ whatpm/Whatpm/ChangeLog	6 Sep 2009 12:53:01 -0000
	* HTML.pm.src: The first cut to implement the |frameset-ok| flag
	concept (HTML5 revision 2703).

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

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

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24