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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.393 - (hide annotations) (download)
Sun Sep 6 01:45:58 2009 UTC (15 years, 2 months ago) by wakaba
Branch: MAIN
Changes since 1.392: +5 -0 lines
++ whatpm/t/ChangeLog	6 Sep 2009 01:44:50 -0000
	* tree-test-1.dat: Updated test results related to the "tainted"
	flag (HTML5 revision 2988).

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

++ whatpm/Whatpm/ChangeLog	6 Sep 2009 01:45:33 -0000
	* HTML.pm.src: No longer does foster parenting |style|, |script|,
	and |input type=hidden| elements (HTML5 revision 2988).

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

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

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24