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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.319 - (hide annotations) (download)
Tue Sep 16 14:41:37 2008 UTC (16 years, 9 months ago) by wakaba
Branch: MAIN
Changes since 1.318: +6 -0 lines
++ whatpm/Whatpm/ChangeLog	16 Sep 2008 14:41:24 -0000
	* Makefile: WebIDL.html added.

	* WebIDL.pod: New documentation.

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

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

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24