Revision history for CSS::DOM
0.14 12 December, 2010
• The full text of the licence is now included in the distribu-
tion. Thanks to Ville Skyttä for providing it (RT #60770).
• A few pod syntax errors have been corrected, thanks to Nicho-
las Bamber (RT #63388).
• CSS::DOM::PropertyParser has been fixed to work with perl
5.13.8 and higher.
• New getStringValue method of CSS::DOM::Value::Primitive
0.13 22 August, 2010
Oops. Fix another problem, introduced in 0.12. I forgot to
add a file to MANIFEST. (I thought I had run make
disttest.)
0.12 22 August, 2010
 Fix dependency problem introduced in 0.11. (I tried to remove
the dependency on constant::lexical, gave up and reverted my
changes, but forgot to add it back to Makefile.PL. Oh well.)
0.11 15 August, 2010
• setStringValue and setFloatValue are now listed in
CSS::DOM::Interface.
• CSS::DOM::Styleâ€TMs opacity property is now listed in
CSS::DOM::Interface. (This is a temporary workaround for
a design flaw.)
0.10 28 March, 2010
• New setFloatValue and setStringValue methods of CSS::DOM::Val-
ue::Primitive
• Bug fix: CSS::DOM::Value::Primitiveâ€TMs cssText did not set the
value when passed an argument if the existing value was a
string and there was no existing serialisation recorded (as
happens if you call the constructor directly without provid-
ing the css argument).
• Bug fix: Sub-value objects of a list value used to become
â€~unownedâ€TM if their type changed (via cssText assignment), mak-
ing further modification attempts fail.
0.09 21 February, 2010
• The property parser no longer gets confused in cygwinâ€TMs perl
5.10.0@34065 (maint; aka ee8a906) when an rgb() colour comes
after something else in a property value. This bug also pro-
duced warnings.
• The property parser in cygwinâ€TMs perl no longer gets offsets
muddled up when a shorthand propertyâ€TMs format contains
<colour> within a parenthetical group, the <colour> is not
the first thing in the group (e.g., â€~(<ident> <colour>)â€TM),
and a value assigned has a colour in hex format (e.g.,
â€~honey beeâ€TM, which would cause just â€~beeâ€TM, not â€~honey #beeâ€TM
to be assigned to the subproperty).
• The property parser used to produces warnings and create
CSS_CUSTOM value objects instead of â€~primitivesâ€TM when a short-
hand property was assigned to that had named properties [RT
#54809]. This only occurred in perl 5.10.0. It turns out that
this perl versionâ€TMs $^N is more buggy than I realised and
itâ€TMs not just cygwinâ€TMs maint snapshot that needs special
treatment.
• CSS::DOM::Styleâ€TMs length method no longer dies if no proper-
ties have been added [RT #54810].
0.08 22 November, 2009
• Incompatible change: CSS::DOM::Valueâ€TMs and CSS::DOM::Value::
Primitiveâ€TMs constructorsâ€TM interfaces have changed. They now
take hash-style arguments.
• CSSPrimitiveValue objects for colours are now supported.
• %CSS::DOM::Constants::SuffixToConst, mapping dimension suf-
fixes to constants
• CSS::DOM::Value::Primitive now implements the Rect and RGB-
Color interfaces.
• CSS::DOM::Value::List has been added. It implements the
CSSValueList interface.
• CSS::DOM::Value::Primitive no longer inherits from CSS::DOM::
Value, but claims that it DOES it.
• getPropertyCSSValue now works with list properties.
• CSS::DOM::Styleâ€TMs property_parser method
• CSS::DOM::Value::Primitiveâ€TMs primitiveType and getFloatValue
methods
• CSS::DOM::Primitiveâ€TMs and CSS::DOM::Valueâ€TMs cssText methods
are now writable.
• Assigning to a shorthand property (like border-top) a value
(like 'inset') that causes some sub-properties to have their
initial values now deletes any implied sub-properties that
do not have default values (like border-top-color). (If that
makes no sense to you, see the tests at the end of
property-parser.t.)
• Fixed to be compatible with 5.10.0@34065 (maint; aka ee8a906),
which is included with cygwin.
0.07 16 August, 2009
• Support for specifications that describe which properties
are supported and also the syntax of shorthand proper-
ties (CSS::DOM::PropertyParser was added; CSS::DOM and
CSS::DOM::Style constructors now take more args)
• Incompatible change: CSS::DOM::Value is no longer used with-
out a property spec.
• CSS::DOM has two new methods, url_fetcher and property_parser,
which return what was passed to the constructor.
• Bug fix (broken in 0.06): Assigning to a property an empty
string or a string beginning with whitespace or a CSS comment
no longer causes an error.
• Bug fix: Assigning whitespace to a property now deletes it.
• Bug fix: getPropertyCSSValue used to return the same as
getPropertyValue the second time it was called for a given
property, due to a weird caching problem.
• compute_style now considers user-agent !important rules more
important that user and author normal rules. CSS 2.1 doesnâ€TMt
say what to do with those, but I just found that CSS 2 speci-
fies it clearly.
0.06 8 April, 2009
• The CSSCharsetRule interface has been added.
• There is a new module named CSS::DOM::Util, which, so far,
provides functions for dealing with CSS escapes and string
and URL tokens.
• The CSSStyleDeclaration interface is now complete
(CSS::DOM::Styleâ€TMs getPropertyCSSValue, removeProperty,
getPropertyPriority, length and item methods have
been added).
• Property priorities (i.e., the !important thingy)
• CSS::DOM::Styleâ€TMs setProperty method now dies when passed an
invalid value.
• The CSSValue interface has been completed. (CSS::DOM::Valueâ€TMs
constructor actually works [it only applies to CSS_INHERIT
and CSS_CUSTOM value types] and the interface methods have
been added.)
• CSS::DOM::Value::Primitive now supports counters, attr values
and rects.
• New module: CSS::Constants, where all the DOM constants have
been moved
• Highly-experimental compute_style function
0.05 2 September, 2008
• CSS::DOM now detects the encoding of CSS files and decodes
them (if you ask it to).
• CSS::DOM::Style has a non-standard (i.e., non-DOM)
modification_handler method that allows the assignment
of a handler that is called whenever the style object
is modified or one of its sub-objects.
0.04 20 August, 2008
• CSS::DOM::Styleâ€TMs setProperty method now works when ::Style is
loaded before ::Parser.
• The CSSFontFaceRule interface has been added.
0.03 19 August, 2008
• CSS.pm is no longer used. The parsing interface has
changed. None of the CSS.pm-specific methods can be used
any more (read_string, etc.). Use CSS::DOM::parse and
CSS::DOM::Style::parse instead (actually, these are con-
structors so you should normally use these instead
of â€~newâ€TM).
• CSS rules no longer overload stringification. That was some-
thing inherited from CSS.pmâ€TMs CSS::Style. If anyone wants me
to add it back, I can.
• CSS::DOM::Ruleâ€TMs constructorâ€TMs interface has changed, and now
accepts the parent rule or style sheet as the only argument.
(It used to inherit a constructor from CSS::Style).
• CSS::DOM::Rule::Style has its selectorText method, so the
CSSStyleRule interface is complete.
• CSS::DOM::Rule now has its parentRule and parentStyleSheet
methods, so the CSSRule interface is complete.
• Started the CSSValue class. So far the constants and a con-
structor (doesnâ€TMt work yet) exist.
• Started the CSSPrimitiveValue class. So far the constants, the
constructor and the cssText method (currently read-only) have
been implemented. Counters, rects, and rgb() colors are not
yet supported. This is not actually used by the other modules
yet, but you can play with it. Itâ€TMs quite buggy.
• The CSSMediaRule, CSSPageRule and CSSImportRule interfaces
have been added.
• CSS::DOMâ€TMs ownerRule and parentStyleSheet methods are actually
capable of return useful values now that CSSImportRule is
implemented.
• The CSS::DOM::StyleDecl module has been renamed to ::Style.
• The CSS::DOM constructor now accepts the named argument
â€~url_fetcherâ€TM, which can be passed a coderef that will be
called by @import rules.
• CSS::DOMâ€TMs ownerNode now returns an empty list in list context
instead of (undef), if there is no owner.
0.02 19 May, 2008
• CSS::DOM now has its title and media methods (so the
StyleSheet interface has been completed) and its ownerRule,
insertRule and deleteRule methods (the CSSStyleSheet inter-
face is now complete).
• CSS::DOM::MediaList and CSS::DOM::StyleSheetList have
been added.
• CSS::DOM::Rule now has type and cssText methods (the CSSRule
interface is complete).
0.01 23 December, 2007
First release