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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.325 - (hide annotations) (download)
Sat Sep 20 06:10:17 2008 UTC (16 years, 9 months ago) by wakaba
Branch: MAIN
Changes since 1.324: +4 -0 lines
++ whatpm/t/ChangeLog	20 Sep 2008 05:50:38 -0000
	* content-model-1.dat: Test data for interactive contents are
	added (cf. HTML5 revision 2018).

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

++ whatpm/Whatpm/ChangeLog	20 Sep 2008 05:46:21 -0000
2008-09-20  Wakaba  <wakaba@suika.fam.cx>

	* ContentChecker.pm ($IsInHTMLInteractiveContent): New.

++ whatpm/Whatpm/ContentChecker/ChangeLog	20 Sep 2008 05:51:55 -0000
	* HTML.pm, Atom.pm: Interactrive content implementation synced
	with the spec (HTML5 revision 2018).

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

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

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24