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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.337 - (hide annotations) (download)
Sat Oct 4 05:53:45 2008 UTC (16 years, 1 month ago) by wakaba
Branch: MAIN
Changes since 1.336: +6 -0 lines
++ whatpm/t/ChangeLog	4 Oct 2008 05:53:31 -0000
	* tree-test-void.dat: New test data (cf. HTML5 revision 1731).

	* HTML-tree.t: |tree-test-void.dat| added.

	* tree-test-1.dat: Test on <listing> as a "special" element are
	added.  Test on implied |option| and |optgroup| end tags are added
	(cf. HTML5 revision 1731).

2008-10-04  Wakaba  <wakaba@suika.fam.cx>

++ whatpm/Whatpm/ChangeLog	4 Oct 2008 05:52:27 -0000
	* HTML.pm.src: Support for |command| and |eventsource| elements	(HTML5
	revision 1731).  End tags of |option| and |optgroup| elements are
	now optional (HTML5 revision 1731).

2008-10-04  Wakaba  <wakaba@suika.fam.cx>

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

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24