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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.400 - (hide annotations) (download)
Sun Sep 6 10:21:13 2009 UTC (15 years, 2 months ago) by wakaba
Branch: MAIN
Changes since 1.399: +4 -0 lines
++ whatpm/t/ChangeLog	6 Sep 2009 10:19:52 -0000
	* tokenizer-test-2.dat: Added a test case of <hr/>.

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

++ whatpm/Whatpm/ChangeLog	6 Sep 2009 10:20:12 -0000
	* HTML.pm.src: |<hr/>| was incorrectly marked as an error.

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

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

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24