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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.363 - (show annotations) (download)
Fri Nov 7 08:45:28 2008 UTC (16 years, 8 months ago) by wakaba
Branch: MAIN
Changes since 1.362: +5 -0 lines
++ whatpm/t/ChangeLog	7 Nov 2008 08:45:01 -0000
	* SWML-Parser.t: Test file |swml/blocks-1.dat| added.

2008-11-07  Wakaba  <wakaba@suika.fam.cx>

++ whatpm/t/swml/ChangeLog	7 Nov 2008 08:45:13 -0000
	* structs-1.dat: More test data added.

	* blocks-1.dat: New file.

2008-11-07  Wakaba  <wakaba@suika.fam.cx>

++ whatpm/Whatpm/ChangeLog	7 Nov 2008 08:43:32 -0000
2008-11-07  Wakaba  <wakaba@suika.fam.cx>

	* NanoDOM.pm (text_content): Don't create a Text node if the new
	value is empty.

++ whatpm/Whatpm/HTML/ChangeLog	7 Nov 2008 08:43:49 -0000
2008-11-07  Wakaba  <wakaba@suika.fam.cx>

	* Dumper.pm (dumptree): Support for namespace abbreviation for
	SWML namespaces.

++ whatpm/Whatpm/SWML/ChangeLog	7 Nov 2008 08:44:20 -0000
	* Parser.pm: Bug fixes - both parser implementation bugs and spec
	bugs.

2008-11-07  Wakaba  <wakaba@suika.fam.cx>

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

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24