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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.384 - (hide annotations) (download)
Sun Aug 16 06:26:14 2009 UTC (15 years, 10 months ago) by wakaba
Branch: MAIN
Changes since 1.383: +6 -0 lines
++ whatpm/t/ChangeLog	16 Aug 2009 06:25:35 -0000
	* tree-test-form.dat: Added tests for <script> elements in
	<select> and <select> in <table> (HTML5 revision 2500).

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

++ whatpm/Whatpm/ChangeLog	16 Aug 2009 06:26:04 -0000
	* HTML.pm.src: Added support for <script> element in the "in
	select" and "in select in table" insertion modes (HTML5 revision
	2500).

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

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

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24