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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.342 - (hide annotations) (download)
Sat Oct 4 09:17:54 2008 UTC (16 years, 6 months ago) by wakaba
Branch: MAIN
Changes since 1.341: +4 -0 lines
++ whatpm/t/ChangeLog	4 Oct 2008 09:14:33 -0000
	* tree-test-void.dat: Test on unmatched void end tag added (cf.
	HTML5 revision 1731).

	* tree-test-1.dat: Test on unmatched end tag added (cf. HTML5
	revision 1731).

2008-10-04  Wakaba  <wakaba@suika.fam.cx>

++ whatpm/Whatpm/ChangeLog	4 Oct 2008 09:17:21 -0000
	* HTML.pm.src: Drop redundant code (HTML5 revision 1731).

2008-10-04  Wakaba  <wakaba@suika.fam.cx>

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

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24