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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.302 - (hide annotations) (download)
Sun Sep 14 03:59:08 2008 UTC (16 years, 1 month ago) by wakaba
Branch: MAIN
Changes since 1.301: +4 -0 lines
++ whatpm/Whatpm/ChangeLog	14 Sep 2008 03:58:42 -0000
	* HTML.pm.src: Use |{read_until}| where possible.

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

++ whatpm/Whatpm/Charset/ChangeLog	14 Sep 2008 03:59:00 -0000
	* DecodeHandle.pm: Typo fixed.

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

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

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24