2008-09-17 Wakaba * Parser.pm (parse_char_string_as_inline): New method. 2008-09-16 Wakaba * Parser.pm: Support for '-o-pre-wrap'. '-moz-pre-wrap' is now replaced by 'pre-wrap'. 2008-09-15 Wakaba * Parser.pm: Support for Firefox3's new 'width' keywords. 2008-08-16 Wakaba * Parser.pm (cursor): Support for 'hand' keyword. 2008-08-16 Wakaba * MediaQueryParser.pm, SelectorsParser.pm, Parser.pm: Support for new style of error reports. 2008-02-11 Wakaba * Parser.pm: 'writing-mode', 'text-anchor', 'dominant-baseline', and 'alignment-baseline' are implemented. 2008-02-11 Wakaba * Parser.pm (parse_char_string): Precious '@charset' error reporting. 2008-02-10 Wakaba * Parser.pm (parse_char_string): '@import' support. 2008-02-10 Wakaba * Parser.pm (parse_char_string): Create a style sheet before the actual parsing (or use the style sheet created before the invocation to the method. (init): New. 2008-02-10 Wakaba * Parser.pm: |attr(prefix|localname)| did not work. Support for uppercase namespace prefixes (namespace prefixes were not normalized into lowercase when they were looked up.). Report the property name token when an unknown property error is raised. The '-moz-pre-wrap' value is supported for 'white-space' property. ('background-position'): 'center left' and 'center right' were not supported. * SelectorsParser.pm: Report the namespace prefix token when an undeclared prefix error is raised. S_TOKEN in COMBINATOR_STATE was not handled correctly. 2008-02-09 Wakaba * Parser.pm (new): s/unsupported/u/; 2008-02-08 Wakaba * Parser.pm: Support for '@nedia' at-rule. 2008-02-08 Wakaba * MediaQueryParser.pm, MediaQuerySerializer.pm: New Perl modules. 2008-02-03 Wakaba * Parser.pm ('display', 'list-style-type', 'caption-side'): CSS 2.0 values added. ('font-size-adjust', 'font-stretch', 'marker-offset'): Implemented. ($length_percentage_keyword_parser): Now this is in a variable. ($length_keyword_parser): Now this is in a variable, too. ('font'): Reset 'font-size-adjust' and 'font-stretch' as defined by CSS2. ('marks', 'size', 'page'): Implemented. 2008-02-02 Wakaba * Parser.pm ($default_serializer, serialize parameters): Removed (now it is part of manakai Message::DOM::CSSStyleDeclaration). ('overflow' key): Removed (since it is a shorthand property). 2008-02-02 Wakaba * Parser.pm ('font', 'cursor'): Serializer are merged with $default_serializer. 2008-02-02 Wakaba * Parser.pm ($default_serializer): New 'RECT' type supported. ('clip'): Implemented. 2008-01-30 Wakaba * Parser.pm ($default_serializer): New 'ADDCOUNTER' and 'SETCOUNTER' types supported. ('content'): 'counter()' and 'counters()' are supported iff the property 'counter-reset' is supported. ('counter-reset', 'counter-increment'): Implemented. 2008-01-28 Wakaba * Parser.pm ($default_serializer): New 'CONTENT' type supported. ('content'): Implemented. 2008-01-27 Wakaba * Parser.pm ($default_serializer): 'QUOTES' type supported. ('quotes'): Implemented. 2008-01-27 Wakaba * Parser.pm ($one_keyword_parser): More accurate error location reporting. ('overflow-x', 'overflow-y'): Implemented. ('overflow'): Reimplemented as a shorthand. 2008-01-27 Wakaba * Parser.pm ('opacity' parse): Support for '+'. 2008-01-27 Wakaba * Parser.pm ('letter-spacing' parse): Support for '+'. ('border-spacing' serialize_multiple): Revised taking into account 'import' and 'inherit'. ('border-spacing' parse): Support for '+'. 2008-01-27 Wakaba * Parser.pm ($parse_color): Support for '+'. HSL to RGB convertion was wrong. ('orphans', 'background-position' parse): Support for '+'. 2008-01-27 Wakaba * Parser.pm ('z-index', 'line-height', 'border-width' parse): Support for '+'. ('margin-top' parse): Fixed to report more accureate error position. ('right'): Negative values and 'auto' were not supported. 2008-01-26 Wakaba * Parser.pm ('font-weight' parser): Support for '+'. * Tokenizer.pm: Normalize number stored in |NUMBER_TOKEN|, |PERCENTAGE_TOKEN|, and |DIMENSION_TOKEN|. 2008-01-26 Wakaba * Parser.pm ('font-size' parser): Support for '+'. Fixed to report more accurate error position. Enabled the support for '-webkit-xxx-large'. ('font' parse): Support for '+' in <'font-weight'> and <'font-size'>. 2008-01-26 Wakaba * Parser.pm ('background' serialize_multiple, 'background-position' serialize_shorthand): Reimplemented taking 'inherit' and 'important' into account. ('background' parse): Support for '+'. Correct initial value for 'background-position-y' was not set in some cases. Wrong value was set to 'background-position-x' in some case. Did not return by some syntax errors. 2008-01-26 Wakaba * Parser.pm (get_char): Use argument to avoid self reference. * Tokenizer.pm: Set the tokenizer itself as the first argument to the |get_char| function. 2008-01-26 Wakaba * Parser.pm ('border' serialize_multiple): Reimplement to take 'inherit' and 'important' into account. 2008-01-26 Wakaba * Parser.pm (serialize_shorthand, serialize_multiple): The leading | ! |s in the priority part were removed (now they are added by |css_text| attribute implementation). (border-width, border-style, border-color serialize_shorthand): Typo fixed. 2008-01-26 Wakaba * Parser.pm (font serialize_shorthand): Implemented. ($generic_font_keywords): Typo fixed. 2008-01-26 Wakaba * Parser.pm: Return value of |serialize_multiple| methods are changed. ('margin' serialize_multiple, 'padding' serialize_multiple): Implemented. ('border-style' serialize_shorthand, 'border-color' serialize_shorthand, 'border-width' serialize_shorthand, 'border-left' serialize_shorthand, 'border-top' serialize_shorthand, 'border-bottom' serialize_shorthand, 'border-right' serialize_shorthand): New. 2008-01-24 Wakaba * Parser.pm (parse_char_string): Treatement for non-important duplicate declarations was incorrect. (margin): Use 'margin' shorthand property for serializing margin-related properties if possible. Support for the |+| sign in <'margin'> is added. 2008-01-24 Wakaba * Parser.pm: Support for the |+| sign in 'margin-top' and similar properties. 2008-01-22 Wakaba * Parser.pm (new {onerror}): The default error handler (outputting to the standard error output) is defined. (parse_char_string {get_char}): Set the next number to the column number of the last character as the column of the end of file pseudo-character. 2008-01-20 Wakaba * Parser.pm, SelectorsParser.pm: Error type strings are revised. 2008-01-20 Wakaba * Parser.pm, SelectorsParser.pm: |{href}| parameter added to all the onerror invocations. The |{onerror}| function is no longer called with |{line}| and |{column}| parameters. * Tokenizer.pm: All token are now given |{line}| and |{column}| values. 2008-01-20 Wakaba * Parser.pm (parse_char_string): Revise |$tt->{get_char}| callback so that it sets |$tt->{line}| and |$tt->{column}| options. Some error handler calling codes are modified for the experimental support for more precious reporting of error location. * Tokenizer.pm (new): The |onerror| option has been removed, since it was never used. (get_next_token): Limited and experimental support for token emittion with the information on the position where it occurs. (serialize_token): New function. 2008-01-14 Wakaba * Parser.pm (-moz-opacity): DOM attribute name was wrong. 2008-01-14 Wakaba * Cascade.pm (get_cascaded_value): No longer have to test whether priority is defined. * Parser.pm (parse_char_string): Set an empty string as the priority if no priority was specified. 2008-01-14 Wakaba * Parser.pm (serialize, serialize_multiple): Return an empty string (not undef) if the property has no assigned value. 2008-01-14 Wakaba * Parser.pm (parse_char_string): Namespace support is revised so that more Gecko-like namespace serialization can be implemented. * SelectorsSerializer.pm (serialize_selector_text): Revised. Now it does almost same as what Gecko does for namespace tratements, what Gecko does for universal selector omittion, and what Opera does for ordering (i.e. no sorting). Only one COLON for pseudo-elements since Gecko and Opera do so. 2008-01-14 Wakaba * SelectorsSerializer.pm (serialize_selector_text): New method. 2008-01-12 Wakaba * Parser.pm: 'opacity' and '-moz-opacity' are implemented. 2008-01-12 Wakaba * Parser.pm: 'font' is implemented. 2008-01-12 Wakaba * Parser.pm: 'background' is implemented. 2008-01-12 Wakaba * Parser.pm: 'border', 'border-top', 'border-right', 'border-bottom', 'border-left', and 'outline' are implemented. White space characters were not allowed between property name and COLON. NUMBER and DIMENSION are not allowed as color in quirks mode. 2008-01-06 Wakaba * Cascade.pm: The object now has new device-dependent parameter, |has_invert|. * Parser.pm: The object now has new device-dependent parameter, |clip_color| function. (parse_char_string): Inifinite-loop fixed for ignoring states. No longer check for '(' and '[' matchings for compatibility with browsers. ($default_serializer): Support for 'RGBA' data type. (color): Reimplemented. (backbround-color, border-top-color, border-right-color, border-bottom-color, border-left-color, outline-color): Implemented. 2008-01-06 Wakaba * Parser.pm (background-position, background-position-x, background-position-y): Implemented. 2008-01-06 Wakaba * Parser.pm (border-spacing serialize_multiple): Implemented. 2008-01-06 Wakaba * Parser.pm: Disallow '-' without following NUMBER or DIMENSION. (border-width serialize): Was incorrect. 2008-01-05 Wakaba * Parser.pm (-manakai-border-spacing-x, -manakai-border-spacing-y, border-spacing): Implemented. 2008-01-04 Wakaba * Parser.pm (letter-spacing, word-specing, text-indent, outline-width): Implemented. (outline-style): Don't allow 'hidden'. 2008-01-04 Wakaba * Parser.pm ($default_serializer): Support for the |PERCENTAGE| data type. (padding-top, border-top-width): The parser now refers the parser of the 'margin-top'. (width, height, min-width, min-height, max-width, max-height, vertical-align, line-height): Implemented. 2008-01-03 Wakaba * Cascade.pm (get_specified_value_no_inherit): New function. (get_computed_value): New way to get computed value, the |{compute_multiple}| code, is now supported. * Parser.pm (top, bottom, left, right): Implemented. 2008-01-03 Wakaba * Parser.pm: Some condition operators were incorrect. The 'border-width' property family is implemented. 2008-01-03 Wakaba * Parser.pm: Support for the 'margin' and 'padding' property families. 2008-01-03 Wakaba * Parser.pm: 'font-size' support. * Cascade.pm (new): Set default value for 'font-size' relative- and absolute- value computations. 2008-01-02 Wakaba * Cascade.pm (get_cascaded_value): "*"-only declaration blocks were ignored. * Parser.pm (cursor): Implemented. 2008-01-02 Wakaba * Parser.pm (text-align, text-transform, white-space, caption-side, table-layout, border-collapse, empty-cells, outline-style, text-decoration): Implemented. 2008-01-02 Wakaba * Cascade.pm (get_computed_value): Even when |inherit| is specified the value is resolved into the computed value by the |{compute}| code to support edge cases not mentioned in the CSS 2.1 spec (see ). 2008-01-02 Wakaba * Cascade.pm (get_computed_value): Resolve initial value referred when |inherit| is specified as if it were the specified value. * Parser.pm: Some properties were incorrectly marked as inherited. (background-repeat, background-attachment, font-style, font-variant, font-weight, background-image, font-family): Implemented. 2008-01-01 Wakaba * Parser.pm: Give |list-style-image|'s compute function a name. 2008-01-01 Wakaba * Parser.pm: Give |list-style-image|'s parser a name. Bug fix on base URI scalar reference. 2008-01-01 Wakaba * Parser.pm (page-break-before, page-break-after, page-break-inside, orphans, widows, list-style): Added. (z-index): Support for negative values. 2008-01-01 Wakaba * Parser.pm: Set |manakai_base_uri| attribute of the created |CSSStyleSheet| object. More properties from CSS 2.1 are implemented. 2008-01-01 Wakaba * Cascade.pm: The |use strict| line was missing!!!!!!!!!11 (get_computed_value): Support for the |inherit| value. * Parser.pm: The |inherit| value is represented by new |INHERIT| value type, rather than |KEYWORD|. (position): The initial value was incorrect. 2008-01-01 Wakaba * Cascade.pm (get_cascaded_value): It now should return |undef| for shorthand properties. (get_specified_value, get_computed_value): New methods. * Parser.pm: |initial|, |inherited|, and |compute| properties are added to property definitions. 2008-01-01 Wakaba * Cascade.pm: Specificity and priority are now supported. * Parser.pm (get_selector_specificity): New method. 2007-12-31 Wakaba * Cascade.pm: New Perl module. * Parser.pm: |@namespace| prohibbitted immediately following |@namespace| rules by mistake. 2007-12-31 Wakaba * Parser.pm: Support for border-style properties, as a model case for shorthand properties. 2007-12-31 Wakaba * Parser.pm: Ignore property which is not supported by the application. Support for properties with a keyword being able to be specified is added. 2007-12-31 Wakaba * Parser.pm: At-keywords were not case-insensitive. Support for property value parsing. Empty declarations were not supported. Raise errors for broken declarations. Parser and serializer definition for |color| is added. 2007-12-24 Wakaba * Parser.pm: Support for |@namespace| rule. * SelectorsSerializer.pm: Support for |lookup_namespace_prefix| parameter is added. 2007-12-23 Wakaba * Parser.pm: Support for the |@charset| rule. 2007-12-23 Wakaba * Parser.pm (parse_char_string): A poor support for error line/column reporting is added. Support for pseudo-element and pseudo-class. 2007-12-23 Wakaba * Parser.pm: New module. * SelectorsParser.pm (parse_string): Split into |parse_string| and |_parse_selectors_with_tokenizer|. Support for "end by token T" option. Return the last token as well as the parsed selectors pbject. 2007-11-24 Wakaba * SelectorsParser.pm (parse_string): Raise errors if appropriate. 2007-10-28 Wakaba * SelectorsSerializer.pm (serialize_test): Namespace prefix IS namespace URI for sorting stability (attribute and :not() selectors). * selectors-object.en.html: Namespace URI cannot be empty. 2007-10-22 Wakaba * SelectorsSerializer.pm ($ident): Non-ascii name start characters after leading |-| was escaped. An IDENT of |-| was not escaped. 2007-10-17 Wakaba * selectors-object.en.html: New documentation. 2007-10-17 Wakaba * SelectorsParser.pod, Makefile: New files. 2007-10-07 Wakaba * SelectorsParser.pm (parse_string): An |IDENT| can be specified as the argument for |-manakai-contains|, as defined in Selectors CR (2001). 2007-10-07 Wakaba * SelectorsParser.pm (BEFORE_CONTAINS_STRING_STATE): New state. (parse_string): Support for |-manakai-current| and |-manakai-contains| pseudo-classes. * SelectorsSerializer.pm: Support for |-manakai-current| and |-manakai-contains| pseudo-classes. 2007-09-30 Wakaba * Tokenizer.pm: |\\{nl}| incorrectly appended |{nl}| to the string value of the token. 2007-09-24 Wakaba * SelectorsParser.pm: Pass an empty string as a prefix for lookup namespace prefix callback, for loose compatibility with the |NSResolver| interface. 2007-09-22 Wakaba * SelectorsParser.pm, SelectorsSerializer.pm: New Perl modules. * Tokenizer.pm: Token type constants are exportable. 2007-09-09 Wakaba * Tokenizer.pm: Delimiters frequently used in CSS now have different |type|s than |DELIM_TOKEN|. 2007-09-09 Wakaba * Tokenizer.pm: |UNICODE_RANGE| token's |value| no longer includes |U+| prefix. 2007-09-08 Wakaba * Tokenizer.pm: |URI| bugs are fixed. 2007-09-08 Wakaba * Tokenizer.pm: |DIMENSION| and |NUMBER| related bugs are fixed. 2007-09-08 Wakaba * Tokenizer.pm: |NUMBER|-related bugs are fixed. 2007-09-08 Wakaba * Tokenizer.pm: |STRING|-related bugs are fixed. 2007-09-08 Wakaba * Tokenizer.pm: Bug fixes. 2007-09-08 Wakaba * Tokenizer.pm: |UNICODE-RANGE| is implemented. 2007-09-08 Wakaba * Tokenizer.pm: |COMMENT| is implemented. A bug for treatement for |@-->| is fixed. 2007-09-08 Wakaba * Tokenizer.pm: |url()| and |url-prefix()| are implemented. Bug for treatement for |@-| is fixed. 2007-09-08 Wakaba * Tokenizer.pm: First working version. 2007-08-17 Wakaba * Tokenizer.pm: New module. * ChangeLog: New file.