1 |
|
2008-09-18 Wakaba <wakaba@suika.fam.cx> |
2 |
|
|
3 |
|
* LangTag.pm (check_rfc4646_langtag): New method. |
4 |
|
|
5 |
|
2008-09-18 Wakaba <wakaba@suika.fam.cx> |
6 |
|
|
7 |
|
* mklangreg.pl: New script. |
8 |
|
|
9 |
|
* Makefile: Updated for creation of the module for language subtag |
10 |
|
registry. |
11 |
|
|
12 |
|
2008-09-16 Wakaba <wakaba@suika.fam.cx> |
13 |
|
|
14 |
|
* Makefile: WebIDL.html added. |
15 |
|
|
16 |
|
* WebIDL.pod: New documentation. |
17 |
|
|
18 |
|
2008-09-16 Wakaba <wakaba@suika.fam.cx> |
19 |
|
|
20 |
|
* WebIDL.pm: Checker's error types are redefined. |
21 |
|
|
22 |
|
2008-09-16 Wakaba <wakaba@suika.fam.cx> |
23 |
|
|
24 |
|
* WebIDL.pm: Parser's error types are redefined. Some forward |
25 |
|
compatible parsing bugs are fixed. Some unreachable codes are |
26 |
|
commented out. |
27 |
|
|
28 |
|
2008-09-16 Wakaba <wakaba@suika.fam.cx> |
29 |
|
|
30 |
|
* WebIDL.pm: Support for the reminding extended attributes are |
31 |
|
added. It does not satisfy the definition that a forward |
32 |
|
interface declaration has an extended attribute. It seems that |
33 |
|
unless explicitly allowed multiple extended attributes with the |
34 |
|
same name is not allowed, though it is not explicitly mentioned in |
35 |
|
the spec. |
36 |
|
|
37 |
|
2008-09-16 Wakaba <wakaba@suika.fam.cx> |
38 |
|
|
39 |
|
* WebIDL.pm: Unescapes extended attribute names and extended |
40 |
|
attribute identifiers. Preserve whether an extended attribute has |
41 |
|
an argument list of not. Support for extended attributes: |
42 |
|
Constructor, ExceptionConsts, IndexGetter, IndexSetter, |
43 |
|
NameGetter, NameSetter, and Null. |
44 |
|
(has_argument_list): New attribute. |
45 |
|
(idl_text): Stringifies argument lists, if any, even if it is |
46 |
|
empty. |
47 |
|
|
48 |
|
2008-09-15 Wakaba <wakaba@suika.fam.cx> |
49 |
|
|
50 |
|
* HTML.pm.src: New state |PCDATA_STATE|. Use an empty string for |
51 |
|
|{s_kwd}| in DATA_STATE as default. |
52 |
|
|
53 |
|
2008-09-15 Wakaba <wakaba@suika.fam.cx> |
54 |
|
|
55 |
|
* HTML.pm.src, mkhtmlparser.pl: Replace |{prev_char}| |
56 |
|
by |{s_kwd}| in DATA_STATE. |
57 |
|
|
58 |
|
2008-09-15 Wakaba <wakaba@suika.fam.cx> |
59 |
|
|
60 |
|
* HTML.pm.src: Shorten keys. |
61 |
|
|
62 |
|
2008-09-15 Wakaba <wakaba@suika.fam.cx> |
63 |
|
|
64 |
|
* HTML.pm.src: Remove checking for control character, surrogate |
65 |
|
pair, or noncharacter code points and non-Unicode code |
66 |
|
points (they should be handled by Whatpm::Charset::UnicodeChecker). |
67 |
|
(parse_char_stream): Support for the |$get_wrapper| argument and |
68 |
|
character stream error handlers. |
69 |
|
|
70 |
|
2008-09-15 Wakaba <wakaba@suika.fam.cx> |
71 |
|
|
72 |
|
* ContentChecker.pm: Don't call |loda_ns_module| |
73 |
|
for null-namespace elements/attributes. |
74 |
|
|
75 |
|
* HTML.pm.src: Fact out $disallowed_control_chars |
76 |
|
as a hash. |
77 |
|
|
78 |
|
2008-09-14 Wakaba <wakaba@suika.fam.cx> |
79 |
|
|
80 |
|
* HTML.pm.src: Regexp typo fixed. |{prev_char}| |
81 |
|
and |{next_char}| initializations are moved to initialization |
82 |
|
method. |{read_until}| now supports buffering. Sync |set_inner_html| |
83 |
|
with |parse_char_stream|. |
84 |
|
|
85 |
|
2008-09-14 Wakaba <wakaba@suika.fam.cx> |
86 |
|
|
87 |
|
* HTML.pm.src (parse_char_stream): Make |set_next_char| |
88 |
|
invoke |manakai_read_until|, not only |read|, where |
89 |
|
possible, to decrease the number of |read| method calls. |
90 |
|
|
91 |
|
* mkhtmlparser.pl: Related changes to the aforementioned |
92 |
|
modification. |
93 |
|
|
94 |
|
2008-09-14 Wakaba <wakaba@suika.fam.cx> |
95 |
|
|
96 |
|
* HTML.pm.src: Use |read| instead of |getc|. |set_inner_html| |
97 |
|
would report character error from now. |
98 |
|
|
99 |
|
2008-09-14 Wakaba <wakaba@suika.fam.cx> |
100 |
|
|
101 |
|
* HTML.pm.src: White-space-leaded non-white-space character |
102 |
|
tokens in "before head insertion mode" was not |
103 |
|
correctly handled. |
104 |
|
(set_inner_html): Reimplemented using CharString decodehandle |
105 |
|
class. Support for $get_wrapper argument. Support |
106 |
|
for |{read_until}| feature. |
107 |
|
|
108 |
|
2008-09-14 Wakaba <wakaba@suika.fam.cx> |
109 |
|
|
110 |
|
* HTML.pm.src: Make a "bare ero" error for unknown |
111 |
|
entities point the "&" character. |
112 |
|
|
113 |
|
2008-09-14 Wakaba <wakaba@suika.fam.cx> |
114 |
|
|
115 |
|
* HTML.pm.src: It turns out that U+FFFD don't have to |
116 |
|
be added to the list of excluded characters. |
117 |
|
|
118 |
|
2008-09-14 Wakaba <wakaba@suika.fam.cx> |
119 |
|
|
120 |
|
* HTML.pm.src ($char_onerror): Have character decoder's |line| |
121 |
|
and |column| a higher priority than the one set by the |
122 |
|
tokenizer's input handler. |
123 |
|
($self->{read_until}): Exclude U+FFFD (but this might |
124 |
|
not be necessary, since now we do line/column fixup in |
125 |
|
the character decode handle). |
126 |
|
|
127 |
|
2008-09-14 Wakaba <wakaba@suika.fam.cx> |
128 |
|
|
129 |
|
* HTML.pm.src: Use |{read_until}| where possible. |
130 |
|
|
131 |
|
2008-09-14 Wakaba <wakaba@suika.fam.cx> |
132 |
|
|
133 |
|
* HTML.pm.src: Change |{getc_until}| to |{read_until}| |
134 |
|
and |manakai_getc_until| to |manakai_read_until| to |
135 |
|
reduce the number of string copies. |
136 |
|
|
137 |
|
2008-09-14 Wakaba <wakaba@suika.fam.cx> |
138 |
|
|
139 |
|
* HTML.pm.src (parse_char_string): Use newly created |
140 |
|
|Whatpm::Charset::DecodeHandle::CharString| instead of Perl's |
141 |
|
standard feature to |open| a string as a filehandle, |
142 |
|
since Perl's string filehandle seems not supporting |ungetc| |
143 |
|
method correctly. |
144 |
|
(parse_char_stream): Define |{getc_until}| method. |
145 |
|
(DATA_STATE): Experimental support for |getc_until| feature. |
146 |
|
|
147 |
|
2008-09-13 Wakaba <wakaba@suika.fam.cx> |
148 |
|
|
149 |
|
* HTML.pm.src: Check points added to newly added branches. |
150 |
|
|
151 |
|
2008-09-13 Wakaba <wakaba@suika.fam.cx> |
152 |
|
|
153 |
|
* HTML.pm.src: Remove |{char}|, which is no longer used. |
154 |
|
Remove |{entity_in_attr}| and |{last_attribute_value_state}| |
155 |
|
and replaced by |{prev_state}|. |
156 |
|
|
157 |
|
* mkhtmlparser.pl: Remove |{char}| feature. |
158 |
|
Remove |!!!back-next-input-character;| macro. |
159 |
|
|
160 |
|
2008-09-13 Wakaba <wakaba@suika.fam.cx> |
161 |
|
|
162 |
|
* HTML.pm.src: Finally we get rid of all the inner loops. Remove |
163 |
|
entity related tokenizer states in favor of new states |
164 |
|
implementing the consume character reference algorithm. |
165 |
|
|
166 |
|
2008-09-13 Wakaba <wakaba@suika.fam.cx> |
167 |
|
|
168 |
|
* HTML.pm.src: "Consume a character reference" algorithm is |
169 |
|
now implemented as a tokenizer's state, rather than |
170 |
|
a method, with minimum changes (more changes will |
171 |
|
be made, in due course). "Bogus comment state"'s inner |
172 |
|
loop gets removed. |
173 |
|
|
174 |
|
2008-09-13 Wakaba <wakaba@suika.fam.cx> |
175 |
|
|
176 |
|
* HTML.pm.src: Make |PUBLIC| and |SYSTEM| keyword tokenizing |
177 |
|
into their own tokenizer states. |
178 |
|
|
179 |
|
2008-09-13 Wakaba <wakaba@suika.fam.cx> |
180 |
|
|
181 |
|
* HTML.pm.src: |CDATA_SECTION_STATE| (formally |CDATA_BLOCK_STATE| |
182 |
|
is split into three states. |
183 |
|
|
184 |
|
2008-09-13 Wakaba <wakaba@suika.fam.cx> |
185 |
|
|
186 |
|
* HTML.pm.src: |CLOSE_TAG_OPEN_STATE| is broken into |
187 |
|
itself and new |CDATA_PCDATA_CLOSE_TAG_STATE| so that |
188 |
|
no longer does the tokenizer have to push back next input |
189 |
|
characters in those states. |
190 |
|
|
191 |
|
2008-09-13 Wakaba <wakaba@suika.fam.cx> |
192 |
|
|
193 |
|
* HTML.pm.src: |MARKUP_DECLARATION_OPEN_STATE| broken |
194 |
|
into four states so that no longer does the tokenizer have to push |
195 |
|
back next input characters in that state. |
196 |
|
|
197 |
|
2008-09-11 Wakaba <wakaba@suika.fam.cx> |
198 |
|
|
199 |
|
* HTML.pm.src: Methods now accept additional parameter, $get_wrapper, |
200 |
|
which can be used to insert some wrapper between the character |
201 |
|
stream handle and the tokenizer. (It is currently not supported |
202 |
|
for |set_inner_html| for |Element|s). |
203 |
|
|
204 |
|
2008-09-10 Wakaba <wakaba@suika.fam.cx> |
205 |
|
|
206 |
|
* HTML.pm.src: Ignore punctuations in charset names. |
207 |
|
|
208 |
|
2008-09-10 Wakaba <wakaba@suika.fam.cx> |
209 |
|
|
210 |
|
* ContentChecker.pm: Support for charset-layer error levels. |
211 |
|
|
212 |
|
* HTML.pm.src: Don't specify |text| argument for the |
213 |
|
|chardecode:fallback| error, since it is not the encoding |
214 |
|
being used alternatively. |
215 |
|
|
216 |
|
2008-09-06 Wakaba <wakaba@suika.fam.cx> |
217 |
|
|
218 |
|
* HTML.pm.src: Support for |XSLT-compat| (HTML5 revision 2141). |
219 |
|
|
220 |
|
2008-08-31 Wakaba <wakaba@suika.fam.cx> |
221 |
|
|
222 |
|
* CacheManifest.pm: Support for extensibility (HTML5 revision 2051). |
223 |
|
|
224 |
|
2008-08-31 Wakaba <wakaba@suika.fam.cx> |
225 |
|
|
226 |
|
* HTML.pm.src: Bug fix and sync with the spec with regard |
227 |
|
to after after frameset insertion mode processing (HTML5 |
228 |
|
revision 1909). Note that the implementation was wrong |
229 |
|
per the old spec before the r1909 changes. |
230 |
|
|
231 |
|
2008-08-30 Wakaba <wakaba@suika.fam.cx> |
232 |
|
|
233 |
|
* HTMLTable.pm: scope=auto algorithm fix synced with the |
234 |
|
spec (HTML5 revision 2093). |
235 |
|
($process_row): Algorithm step numbers synced with the |
236 |
|
spec (HTML5 revision 2092). |
237 |
|
|
238 |
|
2008-08-30 Wakaba <wakaba@suika.fam.cx> |
239 |
|
|
240 |
|
* HTMLTable.pm: Zs is not what we want; we want White_Space! (HTML5 |
241 |
|
revision 2094). |
242 |
|
|
243 |
|
2008-08-30 Wakaba <wakaba@suika.fam.cx> |
244 |
|
|
245 |
|
* ContentType.pm: Support for image/svg+xml (HTML5 revision 2096). |
246 |
|
|
247 |
|
2008-08-30 Wakaba <wakaba@suika.fam.cx> |
248 |
|
|
249 |
|
* HTML.pm.src: '"' and "'" at the end of attribute |
250 |
|
name (after another attribute) now raise parse error (HTML5 |
251 |
|
revision 2123). Empty unquoted attribute values are no |
252 |
|
longer allowed (HTML5 revision 2122). |
253 |
|
|
254 |
|
2008-08-30 Wakaba <wakaba@suika.fam.cx> |
255 |
|
|
256 |
|
* mkhtmlparser.pl: Support for MathML |definitionURL| attribute (HTML5 |
257 |
|
revision 2130). |
258 |
|
|
259 |
|
2008-08-30 Wakaba <wakaba@suika.fam.cx> |
260 |
|
|
261 |
|
* ContentChecker.pm: |xml:lang| attribute value must be same |
262 |
|
as |lang| attribute value for HTML elements (HTML5 revision 2062 |
263 |
|
and so on). |
264 |
|
|
265 |
|
2008-08-30 Wakaba <wakaba@suika.fam.cx> |
266 |
|
|
267 |
|
* ContentChecker.pm: Error level definition for |xml_id_error| |
268 |
|
was missing. |
269 |
|
|
270 |
|
* URIChecker.pm: The end of the URL should be marked as the |
271 |
|
error location for an empty path error. The position |
272 |
|
between the userinfo and the port components should be |
273 |
|
marked as the error location for an empty host error. |
274 |
|
|
275 |
|
2008-08-30 Wakaba <wakaba@suika.fam.cx> |
276 |
|
|
277 |
|
* URIChecker.pm: Set parameters representing where in the |
278 |
|
value the error occurs for errors. Report unknown |
279 |
|
address format error in warning level, since address |
280 |
|
formats are rarely added. Path segments starting with "/.." |
281 |
|
were misinterpreted as a dot-segment. |
282 |
|
|
283 |
|
2008-08-30 Wakaba <wakaba@suika.fam.cx> |
284 |
|
|
285 |
|
* URIChecker.pm (check_iri_reference): Requires |
286 |
|
|Message::DOM::DOMImplementation|. |
287 |
|
|
288 |
|
2008-08-29 Wakaba <wakaba@suika.fam.cx> |
289 |
|
|
290 |
|
* IMTChecker.pm: Updated for the new error reporting architecture. |
291 |
|
|
292 |
|
* ContentChecker.pm: Error levels for IMTs are added. |
293 |
|
|
294 |
|
2008-08-17 Wakaba <wakaba@suika.fam.cx> |
295 |
|
|
296 |
|
* H2H.pm (_shift_token): Support for unquoted HTML attribute |
297 |
|
values. |
298 |
|
|
299 |
|
2008-08-16 Wakaba <wakaba@suika.fam.cx> |
300 |
|
|
301 |
|
* CacheManifest.pm: Support for new style of error |
302 |
|
reports. |
303 |
|
|
304 |
|
* HTML.pm.src: Set line=1, column=1 to the document node. |
305 |
|
|
306 |
|
2008-08-16 Wakaba <wakaba@suika.fam.cx> |
307 |
|
|
308 |
|
* ContentChecker.pm, RDFXML.pm: Pass {level} object to language tag |
309 |
|
and URL checkers. Support for more error levels for bogus |
310 |
|
langauge tag and URL "standards". |
311 |
|
|
312 |
|
* LangTag.pm, URIChecker.pm: Support for new style error |
313 |
|
level reporting. |
314 |
|
|
315 |
|
2008-08-15 Wakaba <wakaba@suika.fam.cx> |
316 |
|
|
317 |
|
* ContentChecker.pm: Support for RDF/XML error levels. |
318 |
|
|
319 |
|
* HTMLTable.pm, RDFXML.pm: Support for new style of error level |
320 |
|
specifying. Error types are revised. |
321 |
|
|
322 |
|
2008-08-15 Wakaba <wakaba@suika.fam.cx> |
323 |
|
|
324 |
|
* ContentChecker.pm: All error reporting method calls are |
325 |
|
renewed. |
326 |
|
|
327 |
|
2008-08-15 Wakaba <wakaba@suika.fam.cx> |
328 |
|
|
329 |
|
* HTML.pm.src: All error type names and "text" parameters |
330 |
|
are revised. Use new style for "level" specification. |
331 |
|
|
332 |
|
* mkhtmlparser.pl: Use new style for "level" specification. |
333 |
|
|
334 |
|
2008-08-03 Wakaba <wakaba@suika.fam.cx> |
335 |
|
|
336 |
|
* WebIDL.pm (parse_char_string): Simplified error |
337 |
|
reporting process for broken ignored valuetype definition. |
338 |
|
(Valuetype idl_text): Support for special "DOMString" name. |
339 |
|
|
340 |
|
2008-08-03 Wakaba <wakaba@suika.fam.cx> |
341 |
|
|
342 |
|
* WebIDL.pm ($get_scoped_name): Append "::::" if the last |
343 |
|
terminal of the ScopedName is "DOMString", such that whether |
344 |
|
the last part of the scoped name is "DOMString" or "_DOMString" |
345 |
|
later. It is necessary to determine whether a |typedef| |
346 |
|
definition should be ignored or not. |
347 |
|
(parse_char_string): Unescape the identifier of |
348 |
|
exception members. |
349 |
|
($resolve): Return undef for builtin types and sequence<T> |
350 |
|
types (we might not have to do this, however...). |
351 |
|
(check): Support checking for Exceptions, Valuetypes, |
352 |
|
and Typedefs. |
353 |
|
($serialize_type): Support for "DOMString::::" syntax. |
354 |
|
(Typedef idl_text): Output Type as "DOMString" if it |
355 |
|
is really "DOMString" (i.e. its internal representation |
356 |
|
is "::DOMString::"). |
357 |
|
|
358 |
|
2008-08-03 Wakaba <wakaba@suika.fam.cx> |
359 |
|
|
360 |
|
* WebIDL.pm ($resolve): New code, based on resolve code |
361 |
|
for constant types in the |check| method. |
362 |
|
(check): Support for checking of attributes, operations, and |
363 |
|
arguments. |
364 |
|
(Attribute/Operation idl_text): Exception names in getraises, |
365 |
|
setraises, and raises clauses is serizlied by |$serialize_type| |
366 |
|
code. |
367 |
|
|
368 |
|
2008-08-02 Wakaba <wakaba@suika.fam.cx> |
369 |
|
|
370 |
|
* WebIDL.pm ($integer): Order of selections are changed to match |
371 |
|
hexadecimal numbers (the original pattern, taken from the spec, |
372 |
|
was not work for hexadecimal numbers, because the "0" prefix |
373 |
|
matches to the [0-7]* part (as an empty string) and therefore |
374 |
|
it does not match with remaining "x..." part of a "0x..." integer |
375 |
|
literal. |
376 |
|
($get_type): It now returns a string, not an array reference, |
377 |
|
for regular types and |sequence| types (i.e. it in any case |
378 |
|
returns a string). |
379 |
|
($get_next_token): The second item in the array that represents |
380 |
|
a integer or float token is now a Perl number value, not the |
381 |
|
original string representation of the number. |
382 |
|
(check): Support for const value consistency checking. |
383 |
|
No extended attribute is defined for constants. |
384 |
|
(Node subclasses): Use simple strings rather than array references |
385 |
|
for default data type values. |
386 |
|
($serialize_type): Type values are now simple strings. |
387 |
|
(value): If the new attribute value is a false value, then |
388 |
|
a FALSE value is set to the attribute. |
389 |
|
|
390 |
|
2008-08-02 Wakaba <wakaba@suika.fam.cx> |
391 |
|
|
392 |
|
* WebIDL.pm ($get_scoped_name): Now scoped names are stored |
393 |
|
in its stringified format ("scoped name" as defined in the |
394 |
|
spec). Note that future version of this module should not use |
395 |
|
array references for type values and the |type_text| attribute |
396 |
|
should be made obsolete. |
397 |
|
(parse_char_string): Unescape attribute names. |
398 |
|
(check): Support for checking of whether inherited interfaces |
399 |
|
are actually defined or not. Support for checking of whether |
400 |
|
interface member identifiers are duplicated or not. |
401 |
|
($serialize_type): Scoped names are returned as is. A future |
402 |
|
version of this code should escape identifiers other than "DOMString", |
403 |
|
otherwise the idl_text would be non-conforming. |
404 |
|
|
405 |
|
2008-08-02 Wakaba <wakaba@suika.fam.cx> |
406 |
|
|
407 |
|
* WebIDL.pm (parse_char_string): Set line/column numbers |
408 |
|
to generated nodes. Unescape identifiers. Extended attributes |
409 |
|
for Definition's were ignored. |
410 |
|
(append_child): Set |parent_node| attribute. |
411 |
|
(parent_node): New attribute. |
412 |
|
(check): Support interface/exception members. Support |
413 |
|
extended attributes. Support definition identifier uniqueness |
414 |
|
constraint. |
415 |
|
(qualified_name): New attribute. |
416 |
|
(Interface/Exception idl_text): Extended attributes were |
417 |
|
not prepended to the returned text. |
418 |
|
|
419 |
|
2008-08-02 Wakaba <wakaba@suika.fam.cx> |
420 |
|
|
421 |
|
* WebIDL.pm (parse_char_string): Set line/column numbers |
422 |
|
to interface object experimentally. s/shift/pop/g, shift |
423 |
|
would make things wrong. Support for interface forward |
424 |
|
declarations was missing. Broken interface declarations |
425 |
|
with no block were not ignored entirely. |
426 |
|
(Whatpm::WebIDL::Node): New abstract class. This class |
427 |
|
makes things easier. |
428 |
|
(child_nodes): New attribute. Unlike DOM's attribute with |
429 |
|
same name, this attribute returns a dead list of nodes for |
430 |
|
simplicity. |
431 |
|
(get_user_data, set_user_data): New methods. |
432 |
|
(Module idl_text): A SPACE character should be inserted |
433 |
|
before the |{| character. |
434 |
|
(Interface idl_text): Support for interface forward declarations. |
435 |
|
(is_forward_declaration): New attribute. |
436 |
|
|
437 |
|
2008-07-19 Wakaba <wakaba@suika.fam.cx> |
438 |
|
|
439 |
|
* WebIDL.pm (type_text): Better serializer. |
440 |
|
|
441 |
|
2008-07-19 Wakaba <wakaba@suika.fam.cx> |
442 |
|
|
443 |
|
* WebIDL.pm: Revise forward-compatible parsing so that |
444 |
|
it now can handle broken extended attributes and as such. |
445 |
|
|
446 |
|
2008-07-19 Wakaba <wakaba@suika.fam.cx> |
447 |
|
|
448 |
|
* WebIDL.pm: Real support for extended attributes. |
449 |
|
Support for extended attributes with arguments. |
450 |
|
|
451 |
2008-07-19 Wakaba <wakaba@suika.fam.cx> |
2008-07-19 Wakaba <wakaba@suika.fam.cx> |
452 |
|
|
453 |
* WebIDL.pm: Support for |exception| syntax. |
* WebIDL.pm: Support for |exception| syntax. |