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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.313 - (hide annotations) (download)
Mon Sep 15 09:02:27 2008 UTC (16 years, 9 months ago) by wakaba
Branch: MAIN
Changes since 1.312: +5 -0 lines
++ whatpm/Whatpm/ChangeLog	15 Sep 2008 09:02:14 -0000
	* HTML.pm.src, mkhtmlparser.pl: Replace |{prev_char}|
	by |{s_kwd}| in DATA_STATE.

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

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

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24