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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.385 - (show annotations) (download)
Sun Aug 16 06:31:20 2009 UTC (16 years, 7 months ago) by wakaba
Branch: MAIN
Changes since 1.384: +5 -0 lines
++ whatpm/Whatpm/ChangeLog	16 Aug 2009 06:31:12 -0000
	* HTML.pm.src: "<!DOCTYPE>" is now explicitly supported in the
	spec (HTML5 revision 2700).

2009-08-16  Wakaba  <wakaba@suika.fam.cx>

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

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24