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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.379 - (hide annotations) (download)
Sun Jul 26 10:56:23 2009 UTC (15 years, 11 months ago) by wakaba
Branch: MAIN
Changes since 1.378: +5 -0 lines
++ whatpm/t/ChangeLog	26 Jul 2009 10:52:36 -0000
	* tree-test-foreign.dat: Added xmlns:xlink test cases (cf. HTML5
	revision 2701).

2009-07-26  Wakaba  <wakaba@suika.fam.cx>

++ whatpm/Whatpm/ChangeLog	26 Jul 2009 10:53:56 -0000
	* mkhtmlclass.pl: Made xmlns:xlink with wrong namespace URL
	invalid (HTML5 revision 2701).

2009-07-26  Wakaba  <wakaba@suika.fam.cx>

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

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24