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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.321 - (hide annotations) (download)
Thu Sep 18 05:11:18 2008 UTC (16 years, 9 months ago) by wakaba
Branch: MAIN
Changes since 1.320: +4 -0 lines
++ whatpm/Whatpm/ChangeLog	18 Sep 2008 05:11:07 -0000
	* LangTag.pm (check_rfc4646_langtag): New method.

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

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

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24