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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.333 - (hide annotations) (download)
Sun Sep 21 12:37:09 2008 UTC (16 years, 9 months ago) by wakaba
Branch: MAIN
Changes since 1.332: +4 -0 lines
++ whatpm/t/ChangeLog	21 Sep 2008 12:25:42 -0000
	* content-model-2.dat: Test data for |form=""| are added.

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

++ whatpm/Whatpm/ChangeLog	21 Sep 2008 12:36:46 -0000
	* ContentChecker.pm: |form=""| check support added.

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

++ whatpm/Whatpm/ContentChecker/ChangeLog	21 Sep 2008 12:25:56 -0000
	* HTML.pm: Support for |form=""| attributes.

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

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

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24