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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.325 - (show annotations) (download)
Sat Sep 20 06:10:17 2008 UTC (16 years, 9 months ago) by wakaba
Branch: MAIN
Changes since 1.324: +4 -0 lines
++ whatpm/t/ChangeLog	20 Sep 2008 05:50:38 -0000
	* content-model-1.dat: Test data for interactive contents are
	added (cf. HTML5 revision 2018).

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

++ whatpm/Whatpm/ChangeLog	20 Sep 2008 05:46:21 -0000
2008-09-20  Wakaba  <wakaba@suika.fam.cx>

	* ContentChecker.pm ($IsInHTMLInteractiveContent): New.

++ whatpm/Whatpm/ContentChecker/ChangeLog	20 Sep 2008 05:51:55 -0000
	* HTML.pm, Atom.pm: Interactrive content implementation synced
	with the spec (HTML5 revision 2018).

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

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

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24