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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.390 - (hide annotations) (download)
Sat Sep 5 13:42:52 2009 UTC (15 years, 7 months ago) by wakaba
Branch: MAIN
Changes since 1.389: +6 -0 lines
++ whatpm/Whatpm/ChangeLog	5 Sep 2009 13:42:33 -0000
	* HTML.pm.src: Moved the "in table text" insertion mode code up
	such that it does also work as specced in HTML5 in the remaining
	cases (HTML5 revision 3382).

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

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

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24