Revision history for CSS::DOM

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’t
        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’s getPropertyCSSValue, removeProperty,
        getPropertyPriority,  length  and  item  methods  have
        been added).
      • Property priorities (i.e., the !important thingy)
      • CSS::DOM::Style’s setProperty  method now dies when passed an
        invalid value.
      • The CSSValue interface has been completed. (CSS::DOM::Value’s
        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’s 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’).
      • CSS rules no longer overload stringification.  That was some-
        thing inherited from CSS.pm’s CSS::Style. If anyone wants me
        to add it back, I can.
      • CSS::DOM::Rule’s constructor’s 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’t 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’s quite buggy.
      • The CSSMediaRule, CSSPageRule and CSSImportRule interfaces
        have been added.
      • CSS::DOM’s 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’, which can be passed a coderef that will be
        called by @import rules.
      • CSS::DOM’s 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