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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.386 - (show annotations) (download)
Sun Aug 16 06:47:59 2009 UTC (15 years, 11 months ago) by wakaba
Branch: MAIN
Changes since 1.385: +5 -0 lines
++ whatpm/t/ChangeLog	16 Aug 2009 06:43:09 -0000
	* tree-test-1.dat: Added tests for about:legacy-compat and changed
	test results for XSLT-compat (HTML5 revision 2725).

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

++ whatpm/Whatpm/ChangeLog	16 Aug 2009 06:44:01 -0000
	* HTML.pm.src: Dropped support for "XSLT-compat" and added
	"about:legacy-compat" (HTML5 revision 2725).

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

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

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24