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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.317 - (hide annotations) (download)
Tue Sep 16 13:07:54 2008 UTC (16 years, 10 months ago) by wakaba
Branch: MAIN
Changes since 1.316: +6 -0 lines
++ whatpm/t/webidl/ChangeLog	16 Sep 2008 13:07:37 -0000
	* webidl-defs.dat, webidl-interface.dat, webidl-exception.dat,
	webidl-valuetype.dat, webidl-typedef.dat: New test cases for
	parsing are added.  Some test results are updated for new error
	type names.

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

++ whatpm/Whatpm/ChangeLog	16 Sep 2008 13:06:31 -0000
	* WebIDL.pm: Parser's error types are redefined.  Some forward
	compatible parsing bugs are fixed.  Some unreachable codes are
	commented out.

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

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

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24