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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.352 - (show annotations) (download)
Tue Oct 14 02:27:54 2008 UTC (17 years, 6 months ago) by wakaba
Branch: MAIN
Changes since 1.351: +6 -0 lines
++ whatpm/Whatpm/ChangeLog	14 Oct 2008 02:26:16 -0000
2008-10-14  Wakaba  <wakaba@suika.fam.cx>

	* Makefile: New rule to make HTML/Tokenizer.pm is added.

	* HTML.pm.src: Tokenizer part moved to another file.

++ whatpm/Whatpm/HTML/ChangeLog	14 Oct 2008 02:25:46 -0000
2008-10-14  Wakaba  <wakaba@suika.fam.cx>

	* Tokenizer.pm.src: New file.

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

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24