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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.369 - (hide annotations) (download)
Fri Dec 12 11:50:47 2008 UTC (15 years, 10 months ago) by wakaba
Branch: MAIN
Changes since 1.368: +5 -0 lines
++ whatpm/t/dom-conformance/ChangeLog	12 Dec 2008 11:50:40 -0000
	* html-datatemplate.dat, html-form-datalist.dat: Updated test
	results related to |optgroup| elements.

	* html-form-textarea.dat: Added new test data.

	* html-forms-1.dat: Moved some test data to
	|html-form-textarea.dat|.  Updated test results related to
	|optgroup| elements.

2008-12-12  Wakaba  <wakaba@suika.fam.cx>

++ whatpm/Whatpm/ChangeLog	12 Dec 2008 11:48:16 -0000
	* ContentChecker.pm: Introduced |check_attrs2| method for the ease
	of defining codes for checking required attribute and as such.

2008-12-12  Wakaba  <wakaba@suika.fam.cx>

++ whatpm/Whatpm/ContentChecker/ChangeLog	12 Dec 2008 11:48:45 -0000
	* HTML.pm: Updated definitions for |datalist|, |optgroup|,
	|option|, and |textarea| elements.

2008-12-12  Wakaba  <wakaba@suika.fam.cx>

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

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24