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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.338 - (show annotations) (download)
Sat Oct 4 06:30:33 2008 UTC (16 years, 1 month ago) by wakaba
Branch: MAIN
Changes since 1.337: +6 -0 lines
++ whatpm/t/ChangeLog	4 Oct 2008 06:19:37 -0000
	* tree-test-phrasing.dat, tree-test-flow.dat: New test data files.

	* HTML-tree.t: |tree-test-phrasing.dat| and |tree-test-flow.dat|
	are added.

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

++ whatpm/Whatpm/ChangeLog	4 Oct 2008 06:24:54 -0000
	* HTML.pm.src: Support for new flow (but not phrasing) elements (HTML5
	revisions 1731 and 1778).  Support for the </sarcasm> end tag (HTML5
	revision 1731).

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

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

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24