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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.358 - (show annotations) (download)
Sat Oct 18 11:34:49 2008 UTC (17 years, 6 months ago) by wakaba
Branch: MAIN
Changes since 1.357: +4 -0 lines
++ whatpm/t/ChangeLog	18 Oct 2008 11:34:40 -0000
2008-10-18  Wakaba  <wakaba@suika.fam.cx>

	* XML-Parser.t: "xml/notations-1.dat" added.

++ whatpm/t/xml/ChangeLog	18 Oct 2008 11:25:41 -0000
	* attlists-1.dat: A test result updated.

	* notations-1.dat: New test result file.

2008-10-18  Wakaba  <wakaba@suika.fam.cx>

++ whatpm/Whatpm/ChangeLog	18 Oct 2008 11:31:41 -0000
	* NanoDOM.pm (public_id, system_id): New attributes.

2008-10-18  Wakaba  <wakaba@suika.fam.cx>

++ whatpm/Whatpm/HTML/ChangeLog	18 Oct 2008 11:34:04 -0000
	* Tokenizer.pm.src: Modifies PUBLIC/SYSTEM identifier tokenizer
	states such that <!ENTITY> and <!NOTATION> can be tokenized by
	those states as well.
	(BOGUS_MD_STATE): A new state; used for bogus markup declarations,
	in favor of BOGUS_COMMENT_STATE.

2008-10-18  Wakaba  <wakaba@suika.fam.cx>

++ whatpm/Whatpm/XML/ChangeLog	18 Oct 2008 11:34:26 -0000
	* Parser.pm.src: Set public_id and system_id attributes of Entity
	and Notation nodes.

2008-10-18  Wakaba  <wakaba@suika.fam.cx>

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

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24