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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.327 - (hide annotations) (download)
Sat Sep 20 09:28:29 2008 UTC (16 years, 10 months ago) by wakaba
Branch: MAIN
Changes since 1.326: +5 -0 lines
++ whatpm/t/ChangeLog	20 Sep 2008 09:28:04 -0000
	* tokenizer-test-1.test: Test data for U+000B are added (cf. HTML5
	revision 1738).

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

++ whatpm/Whatpm/ChangeLog	20 Sep 2008 09:27:21 -0000
	* HTML.pm.src: U+000B is no longer a space character (HTML5
	revision 1738).

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

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

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24