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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.314 - (hide annotations) (download)
Mon Sep 15 09:27:53 2008 UTC (16 years, 10 months ago) by wakaba
Branch: MAIN
Changes since 1.313: +5 -0 lines
++ whatpm/Whatpm/ChangeLog	15 Sep 2008 09:27:44 -0000
	* HTML.pm.src: New state |PCDATA_STATE|.  Use an empty string for
	|{s_kwd}| in DATA_STATE as default.

2008-09-15  Wakaba  <wakaba@suika.fam.cx>

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

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24