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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.388 - (hide annotations) (download)
Sun Aug 30 03:40:50 2009 UTC (15 years, 10 months ago) by wakaba
Branch: MAIN
Changes since 1.387: +5 -0 lines
++ whatpm/t/dom-conformance/ChangeLog	30 Aug 2009 03:35:02 -0000
2009-08-30  Wakaba  <wakaba@suika.fam.cx>

	* xml-global.dat: Added a test of |xml:lang| attribute on a
	foreign element in an HTML document (HTML5 revision 3697).

++ whatpm/Whatpm/ChangeLog	30 Aug 2009 03:40:20 -0000
2009-08-30  Wakaba  <wakaba@suika.fam.cx>

	* ContentChecker.pm: Allow |xml:lang| in HTML document if the
	owner element is not an HTML element (HTML5 revision 3697).

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

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24