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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.318 - (hide annotations) (download)
Tue Sep 16 13:59:55 2008 UTC (16 years, 9 months ago) by wakaba
Branch: MAIN
Changes since 1.317: +4 -0 lines
++ whatpm/t/webidl/ChangeLog	16 Sep 2008 13:59:48 -0000
	webidl-valuetype.dat, webidl-typedef.dat: Test results are updated
	for new error type names.

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

	* webidl-defs.dat, webidl-interface.dat, webidl-exception.dat,
++ whatpm/Whatpm/ChangeLog	16 Sep 2008 13:58:58 -0000
	* WebIDL.pm: Checker's error types are redefined.

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

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

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24