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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.336 - (hide annotations) (download)
Sat Oct 4 04:06:32 2008 UTC (16 years, 1 month ago) by wakaba
Branch: MAIN
Changes since 1.335: +5 -0 lines
++ whatpm/t/ChangeLog	4 Oct 2008 03:53:07 -0000
2008-10-04  Wakaba  <wakaba@suika.fam.cx>

	* tree-test-1.dat: Test related to "special", "formatting",
	"scoping", and "phrasing" categories are added (cf. HTML5 revision
	1778).

++ whatpm/Whatpm/ChangeLog	4 Oct 2008 04:06:08 -0000
2008-10-04  Wakaba  <wakaba@suika.fam.cx>

	* HTML.pm.src: New "special" elements added to the list (HTML5
	revision 1778).  "strile" -> "strike".

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

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24