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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.364 - (show annotations) (download)
Sat Dec 6 10:00:53 2008 UTC (16 years, 7 months ago) by wakaba
Branch: MAIN
Changes since 1.363: +6 -0 lines
++ whatpm/t/ChangeLog	6 Dec 2008 10:00:34 -0000
2008-12-06  Wakaba  <wakaba@suika.fam.cx>

	* content-checker.pl: Use new XML parser for parsing test data.
	Use NanoDOM instead of manakai DOM implementation.

++ whatpm/Whatpm/ChangeLog	6 Dec 2008 09:58:56 -0000
2008-12-06  Wakaba  <wakaba@suika.fam.cx>

	* NanoDOM.pm (document_uri): New attribute.

	* ContentChecker.pm: Don't use methods not implemented by NanoDOM.

++ whatpm/Whatpm/ContentChecker/ChangeLog	6 Dec 2008 09:59:53 -0000
2008-12-06  Wakaba  <wakaba@suika.fam.cx>

	* HTML.pm: Use |Message::URL| for relative URL resolution.  Don't
	use attributes not supported by NanoDOM.

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

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24