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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.398 - (hide annotations) (download)
Sun Sep 6 09:53:29 2009 UTC (15 years, 10 months ago) by wakaba
Branch: MAIN
Changes since 1.397: +6 -0 lines
++ whatpm/t/ChangeLog	6 Sep 2009 09:53:12 -0000
	* tree-test-1.dat, tree-test-2.dat: Some test results are updated
	as per HTML5 revision 2730's new handling of end tags in the
	|head| area.

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

++ whatpm/Whatpm/ChangeLog	6 Sep 2009 09:52:24 -0000
	* HTML.pm.src: Rewrote end tag handling in |head| area (cf. HTML5
	revision 2730, but it was entirely broken, maybe I missed some
	spec changes before rev.2730).

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

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

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24