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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.403 - (hide annotations) (download)
Sun Sep 6 13:52:05 2009 UTC (15 years, 10 months ago) by wakaba
Branch: MAIN
Changes since 1.402: +5 -0 lines
++ whatpm/t/ChangeLog	6 Sep 2009 13:51:04 -0000
	* tree-test-frames.dat: Added more test data on the "frameset-ok"
	flag (HTML5 revision 2703 and HTML5 revision 2987).

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

++ whatpm/Whatpm/ChangeLog	6 Sep 2009 13:51:50 -0000
	* HTML.pm.src: Implemented the remaining parts of the
	"frameset-ok" flag (HTML5 revision 2703 and HTML5 revision 2987).

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

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

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24