2008-09-17  Wakaba  <wakaba@suika.fam.cx>

	* Parser.pm (parse_char_string_as_inline): New method.

2008-09-16  Wakaba  <wakaba@suika.fam.cx>

	* Parser.pm: Support for '-o-pre-wrap'.  '-moz-pre-wrap'
	is now replaced by 'pre-wrap'.

2008-09-15  Wakaba  <wakaba@suika.fam.cx>

	* Parser.pm: Support for Firefox3's new 'width' keywords.

2008-08-16  Wakaba  <wakaba@suika.fam.cx>

	* Parser.pm (cursor): Support for 'hand' keyword.

2008-08-16  Wakaba  <wakaba@suika.fam.cx>

	* MediaQueryParser.pm, SelectorsParser.pm, Parser.pm: Support
	for new style of error reports.

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

	* Parser.pm: 'writing-mode', 'text-anchor', 'dominant-baseline', 
	and 'alignment-baseline' are implemented.

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

	* Parser.pm (parse_char_string): Precious '@charset' error
	reporting.

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

	* Parser.pm (parse_char_string): '@import' support.

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

	* 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  <wakaba@suika.fam.cx>

	* 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  <wakaba@suika.fam.cx>

	* Parser.pm (new): s/unsupported/u/;

2008-02-08  Wakaba  <wakaba@suika.fam.cx>

	* Parser.pm: Support for '@nedia' at-rule.

2008-02-08  Wakaba  <wakaba@suika.fam.cx>

	* MediaQueryParser.pm, MediaQuerySerializer.pm: New Perl modules.

2008-02-03  Wakaba  <wakaba@suika.fam.cx>

	* 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  <wakaba@suika.fam.cx>

	* 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  <wakaba@suika.fam.cx>

	* Parser.pm ('font', 'cursor'): Serializer are 
	merged with $default_serializer.

2008-02-02  Wakaba  <wakaba@suika.fam.cx>

	* Parser.pm ($default_serializer): New 'RECT' type supported.
	('clip'): Implemented.

2008-01-30  Wakaba  <wakaba@suika.fam.cx>

	* 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  <wakaba@suika.fam.cx>

	* Parser.pm ($default_serializer): New 'CONTENT' type supported.
	('content'): Implemented.

2008-01-27  Wakaba  <wakaba@suika.fam.cx>

	* Parser.pm ($default_serializer): 'QUOTES' type supported.
	('quotes'): Implemented.

2008-01-27  Wakaba  <wakaba@suika.fam.cx>

	* Parser.pm ($one_keyword_parser): More accurate error location
	reporting.
	('overflow-x', 'overflow-y'): Implemented.
	('overflow'): Reimplemented as a shorthand.

2008-01-27  Wakaba  <wakaba@suika.fam.cx>

	* Parser.pm ('opacity' parse): Support for '+'.

2008-01-27  Wakaba  <wakaba@suika.fam.cx>

	* 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  <wakaba@suika.fam.cx>

	* Parser.pm ($parse_color): Support for '+'.  HSL to RGB
	convertion was wrong.
	('orphans', 'background-position' parse): Support for '+'.

2008-01-27  Wakaba  <wakaba@suika.fam.cx>

	* 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  <wakaba@suika.fam.cx>

	* Parser.pm ('font-weight' parser): Support for '+'.

	* Tokenizer.pm: Normalize number stored in |NUMBER_TOKEN|,
	|PERCENTAGE_TOKEN|, and |DIMENSION_TOKEN|.

2008-01-26  Wakaba  <wakaba@suika.fam.cx>

	* 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  <wakaba@suika.fam.cx>

	* 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  <wakaba@suika.fam.cx>

	* 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  <wakaba@suika.fam.cx>

	* Parser.pm ('border' serialize_multiple): Reimplement
	to take 'inherit' and 'important' into account.

2008-01-26  Wakaba  <wakaba@suika.fam.cx>

	* 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  <wakaba@suika.fam.cx>

	* Parser.pm (font serialize_shorthand): Implemented.
	($generic_font_keywords): Typo fixed.

2008-01-26  Wakaba  <wakaba@suika.fam.cx>

	* 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  <wakaba@suika.fam.cx>

	* 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  <wakaba@suika.fam.cx>

	* Parser.pm: Support for the |+| sign in 'margin-top' and
	similar properties.

2008-01-22  Wakaba  <wakaba@suika.fam.cx>

	* 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  <wakaba@suika.fam.cx>

	* Parser.pm, SelectorsParser.pm: Error type strings are revised.

2008-01-20  Wakaba  <wakaba@suika.fam.cx>

	* 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  <wakaba@suika.fam.cx>

	* 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  <wakaba@suika.fam.cx>

	* Parser.pm (-moz-opacity): DOM attribute name was wrong.

2008-01-14  Wakaba  <wakaba@suika.fam.cx>

	* 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  <wakaba@suika.fam.cx>

	* Parser.pm (serialize, serialize_multiple): Return an empty 
	string (not undef) if the property has no assigned value.

2008-01-14  Wakaba  <wakaba@suika.fam.cx>

	* 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  <wakaba@suika.fam.cx>

	* SelectorsSerializer.pm (serialize_selector_text): New method.

2008-01-12  Wakaba  <wakaba@suika.fam.cx>

	* Parser.pm: 'opacity' and '-moz-opacity' are implemented.

2008-01-12  Wakaba  <wakaba@suika.fam.cx>

	* Parser.pm: 'font' is implemented.

2008-01-12  Wakaba  <wakaba@suika.fam.cx>

	* Parser.pm: 'background' is implemented.

2008-01-12  Wakaba  <wakaba@suika.fam.cx>

	* 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  <wakaba@suika.fam.cx>

	* 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  <wakaba@suika.fam.cx>

	* Parser.pm (background-position, background-position-x,
	background-position-y): Implemented.

2008-01-06  Wakaba  <wakaba@suika.fam.cx>

	* Parser.pm (border-spacing serialize_multiple): Implemented.

2008-01-06  Wakaba  <wakaba@suika.fam.cx>

	* Parser.pm: Disallow '-' without following NUMBER or DIMENSION.
	(border-width serialize): Was incorrect.

2008-01-05  Wakaba  <wakaba@suika.fam.cx>

	* Parser.pm (-manakai-border-spacing-x, -manakai-border-spacing-y,
	border-spacing): Implemented.

2008-01-04  Wakaba  <wakaba@suika.fam.cx>

	* Parser.pm (letter-spacing, word-specing, text-indent,
	outline-width): Implemented.
	(outline-style): Don't allow 'hidden'.

2008-01-04  Wakaba  <wakaba@suika.fam.cx>

	* 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  <wakaba@suika.fam.cx>

	* 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  <wakaba@suika.fam.cx>

	* Parser.pm: Some condition operators were incorrect.  
	The 'border-width' property family is implemented.

2008-01-03  Wakaba  <wakaba@suika.fam.cx>

	* Parser.pm: Support for the 'margin' and 'padding'
	property families.

2008-01-03  Wakaba  <wakaba@suika.fam.cx>

	* Parser.pm: 'font-size' support.

	* Cascade.pm (new): Set default value for 'font-size' 
	relative- and absolute- value computations.

2008-01-02  Wakaba  <wakaba@suika.fam.cx>

	* Cascade.pm (get_cascaded_value): "*"-only declaration blocks
	were ignored.

	* Parser.pm (cursor): Implemented.

2008-01-02  Wakaba  <wakaba@suika.fam.cx>

	* 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  <wakaba@suika.fam.cx>

	* 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
	<http://suika.fam.cx/gate/2005/sw/inherit>).

2008-01-02  Wakaba  <wakaba@suika.fam.cx>

	* 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  <wakaba@suika.fam.cx>

	* Parser.pm: Give |list-style-image|'s compute function a name.

2008-01-01  Wakaba  <wakaba@suika.fam.cx>

	* Parser.pm: Give |list-style-image|'s parser a name.  Bug fix
	on base URI scalar reference.

2008-01-01  Wakaba  <wakaba@suika.fam.cx>

	* 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  <wakaba@suika.fam.cx>

	* Parser.pm: Set |manakai_base_uri| attribute of the 
	created |CSSStyleSheet| object.
	More properties from CSS 2.1 are implemented.

2008-01-01  Wakaba  <wakaba@suika.fam.cx>

	* 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  <wakaba@suika.fam.cx>

	* 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  <wakaba@suika.fam.cx>

	* Cascade.pm: Specificity and priority are now supported.

	* Parser.pm (get_selector_specificity): New method.

2007-12-31  Wakaba  <wakaba@suika.fam.cx>

	* Cascade.pm: New Perl module.

	* Parser.pm: |@namespace| prohibbitted immediately
	following |@namespace| rules by mistake.

2007-12-31  Wakaba  <wakaba@suika.fam.cx>

	* Parser.pm: Support for border-style properties, as a model case
	for shorthand properties.

2007-12-31  Wakaba  <wakaba@suika.fam.cx>

	* 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  <wakaba@suika.fam.cx>

	* 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  <wakaba@suika.fam.cx>

	* Parser.pm: Support for |@namespace| rule.

	* SelectorsSerializer.pm: Support for |lookup_namespace_prefix|
	parameter is added.

2007-12-23  Wakaba  <wakaba@suika.fam.cx>

	* Parser.pm: Support for the |@charset| rule.

2007-12-23  Wakaba  <wakaba@suika.fam.cx>

	* 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  <wakaba@suika.fam.cx>

	* 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  <wakaba@suika.fam.cx>

	* SelectorsParser.pm (parse_string): Raise errors if appropriate.

2007-10-28  Wakaba  <wakaba@suika.fam.cx>

	* 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  <wakaba@suika.fam.cx>

	* SelectorsSerializer.pm ($ident): Non-ascii name start
	characters after leading |-| was escaped.  An IDENT
	of |-| was not escaped.

2007-10-17  Wakaba  <wakaba@suika.fam.cx>

	* selectors-object.en.html: New documentation.

2007-10-17  Wakaba  <wakaba@suika.fam.cx>

	* SelectorsParser.pod, Makefile: New files.

2007-10-07  Wakaba  <wakaba@suika.fam.cx>

	* 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  <wakaba@suika.fam.cx>

	* 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  <wakaba@suika.fam.cx>

	* Tokenizer.pm: |\\{nl}| incorrectly appended |{nl}| to
	the string value of the token.

2007-09-24  Wakaba  <wakaba@suika.fam.cx>

	* 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  <wakaba@suika.fam.cx>

	* SelectorsParser.pm, SelectorsSerializer.pm: New Perl modules.

	* Tokenizer.pm: Token type constants are exportable.

2007-09-09  Wakaba  <wakaba@suika.fam.cx>

	* Tokenizer.pm: Delimiters frequently used in CSS
	now have different |type|s than |DELIM_TOKEN|.

2007-09-09  Wakaba  <wakaba@suika.fam.cx>

	* Tokenizer.pm: |UNICODE_RANGE| token's |value| no longer
	includes |U+| prefix.

2007-09-08  Wakaba  <wakaba@suika.fam.cx>

	* Tokenizer.pm: |URI| bugs are fixed.
	
2007-09-08  Wakaba  <wakaba@suika.fam.cx>

	* Tokenizer.pm: |DIMENSION| and |NUMBER| related
	bugs are fixed.

2007-09-08  Wakaba  <wakaba@suika.fam.cx>

	* Tokenizer.pm: |NUMBER|-related bugs are fixed.

2007-09-08  Wakaba  <wakaba@suika.fam.cx>

	* Tokenizer.pm: |STRING|-related bugs are fixed.

2007-09-08  Wakaba  <wakaba@suika.fam.cx>

	* Tokenizer.pm: Bug fixes.

2007-09-08  Wakaba  <wakaba@suika.fam.cx>

	* Tokenizer.pm: |UNICODE-RANGE| is implemented.

2007-09-08  Wakaba  <wakaba@suika.fam.cx>

	* Tokenizer.pm: |COMMENT| is implemented. 
	A bug for treatement for |@-->| is fixed.

2007-09-08  Wakaba  <wakaba@suika.fam.cx>

	* Tokenizer.pm: |url()| and |url-prefix()| are implemented.
	Bug for treatement for |@-| is fixed.

2007-09-08  Wakaba  <wakaba@suika.fam.cx>

	* Tokenizer.pm: First working version.

2007-08-17  Wakaba  <wakaba@suika.fam.cx>

	* Tokenizer.pm: New module.

	* ChangeLog: New file.

