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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.298 - (hide annotations) (download)
Sat Sep 13 11:31:08 2008 UTC (16 years, 9 months ago) by wakaba
Branch: MAIN
Changes since 1.297: +9 -0 lines
++ whatpm/Whatpm/ChangeLog	13 Sep 2008 11:31:02 -0000
	* HTML.pm.src: Remove |{char}|, which is no longer used.
	Remove |{entity_in_attr}| and |{last_attribute_value_state}|
	and replaced by |{prev_state}|.

	* mkhtmlparser.pl: Remove |{char}| feature.
	Remove |!!!back-next-input-character;| macro.

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

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

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24