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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.323 - (show annotations) (download)
Thu Sep 18 08:22:17 2008 UTC (16 years, 10 months ago) by wakaba
Branch: MAIN
Changes since 1.322: +7 -0 lines
++ whatpm/t/ChangeLog	18 Sep 2008 08:22:10 -0000
	* langtag-1.dat: More test data from RFC 4646 sections 1.-2.2.4.
	are added.

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

++ whatpm/Whatpm/ChangeLog	18 Sep 2008 08:21:37 -0000
	* LangTag.pm: Warn for private use language subtags.  Error level
	typos fixed.  Support for Suppress-Script field.

	* mklangreg.pl: Support for dumping of nested structure.

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

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

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24