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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.389 - (show annotations) (download)
Sat Sep 5 13:30:42 2009 UTC (15 years, 10 months ago) by wakaba
Branch: MAIN
Changes since 1.388: +5 -0 lines
++ whatpm/t/ChangeLog	5 Sep 2009 13:30:15 -0000
	* tree-test-1.dat: Added test cases for "in table text" insertion
	mode (HTML5 revision 3382).

2009-09-05  Wakaba  <wakaba@suika.fam.cx>

++ whatpm/Whatpm/ChangeLog	5 Sep 2009 13:29:47 -0000
2009-09-05  Wakaba  <wakaba@suika.fam.cx>

	* HTML.pm.src: Implementing the "in table text" insertion mode,
	first half (HTML5 revision 3382).

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

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24