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.