Not approved. This doesn't fix components/demos/house.lzx when I remove the quotes from around the gradient string values. I checked, and the 'gradient-fill' attribute is type 'string'...

On 11/4/10 2:11 PM, P T Withington wrote:
Change ptw-20101104-S8x by [email protected] on 2010-11-04 14:04:07 EDT
     in /Users/ptw/OpenLaszlo/trunk-3
     for http://svn.openlaszlo.org/openlaszlo/trunk

Summary: Pass custom CSS property values as strings

Bugs Fixed: LPP-9490 CSS Parser should default to delivering unknown attributes 
as strings to be presentation-type parsed at runtime

Technical Reviewer: [email protected] (pending)
QA Reviewer: [email protected] (pending)

Release Notes:

     The CSS parser passes through most property values unchanged (but
     as strings, so they are valid Javascript). We only need a few
     special properties, e.g., the keyword `inherit` will be passed as
     a unique value, to distinguish from the string "inherit" (so if
     you wanted to specify the content of a node as the literal value
     "inherit", not have it inherit a value from it's parent). For
     backwards compatibility, color specifications are still
     canonicalized at compile-time and output them as hex numbers --
     this may go away in the future. If you want a color specification
     to come through unparsed, you can use `rgba(...,...,...,1)`,
     because that will _not_ be converted at runtime. Any values that
     appear as "arguments" to a function (e.g., url(), rect(),
     linear-gradient()) will be passed straight through.  The
     attribute's presentation type is invoked when the attribute is
     bound to a CSS property value; it's job is to convert that value
     to the appropriate internal representation.

Overview:
     Rewrote the compile-time CSS parser to do nearly no compile-time
     conversion of property values, and to pass any custom (unknown)
     values through as strings, so the runtime can use the presentation
     type system to parse arbitrary values.

Details:

     neighborhoodclasses, designerview:  Fixed up the specification of
     some attributes to be more modern for testing.

     LzNode: Use acceptAttribute to install style property values.

     CSSHandler:  Rewritten to do minimal compile-time processing.

Tests:

Files:
M       test/style/neighborhood/neighborhoodclasses.lzx
M       test/style/designerview.lzx
M       WEB-INF/lps/lfc/core/LzNode.lzs
M       WEB-INF/lps/server/src/org/openlaszlo/css/CSSHandler.java

Changeset: http://svn.openlaszlo.org/openlaszlo/patches/ptw-20101104-S8x.tar

Reply via email to