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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.387 - (hide annotations) (download)
Sun Aug 23 02:35:32 2009 UTC (15 years, 10 months ago) by wakaba
Branch: MAIN
Changes since 1.386: +5 -0 lines
++ whatpm/t/dom-conformance/ChangeLog	23 Aug 2009 02:34:37 -0000
	* html-form-button.dat: Added test data on interactive content in
	|button| element (HTML5 revision 2392).

	* html-links-1.dat: Added test data on exclusion of interactive
	content (HTML5 revision 2455, HTML5 revision 3162, HTML5 revision
	3338).

2009-08-23  Wakaba  <wakaba@suika.fam.cx>

++ whatpm/Whatpm/ChangeLog	23 Aug 2009 02:26:52 -0000
2009-08-23  Wakaba  <wakaba@suika.fam.cx>

	* ContentChecker.pm: Allow <input type=hidden> in context where
	interactive content is disallowed (HTML5 revision 2392).

++ whatpm/Whatpm/ContentChecker/ChangeLog	23 Aug 2009 02:35:21 -0000
	* HTML.pm: Disallow interactive content in |button| element (HTML5
	revision 2392).  Marked |img| and |object| (with |usemap|
	attribute) elements, |iframe| element, and |embed| element as
	interactive content (HTML5 revision 2455, HTML5 revision 3162,
	HTML5 revision 3338).

2009-08-23  Wakaba  <wakaba@suika.fam.cx>

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

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24