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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.371 - (hide annotations) (download)
Sun Jun 28 11:03:06 2009 UTC (16 years ago) by wakaba
Branch: MAIN
Changes since 1.370: +5 -0 lines
++ whatpm/t/ChangeLog	28 Jun 2009 11:02:32 -0000
	* tree-test-1.dat, tree-test-flow.dat: Updated test results on
	isindex (c.f. HTML5 revision 3236).

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

++ whatpm/Whatpm/ChangeLog	28 Jun 2009 11:02:59 -0000
2009-06-28  Wakaba  <wakaba@suika.fam.cx>

	* HTML.pm.src: |isindex| should no longer generate |p| element
	node (HTML5 revision 3236).

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

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24