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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.334 - (hide annotations) (download)
Mon Sep 22 06:04:28 2008 UTC (16 years, 9 months ago) by wakaba
Branch: MAIN
Changes since 1.333: +6 -0 lines
++ whatpm/t/ChangeLog	22 Sep 2008 05:59:48 -0000
	* tokenizer-test-1.test: Test data on invalid character references
	are added (cf. HTML5 revision 2138).

	* tokenizer-test-2.dat: Test data on U+000B are updated (HTML5
	revision 2138).

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

++ whatpm/Whatpm/ChangeLog	22 Sep 2008 06:02:01 -0000
2008-09-22  Wakaba  <wakaba@suika.fam.cx>

	* HTML.pm.src: Character references for non-space C0 characters,
	including U+000B VT, DEL character, noncharacter code points, are
	now converted to the U+FFFD character (cf. HTML5 revision 2138).

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

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24