This looks good, though I'm really lost in the getPropertyCache logic. But
I'm going to
to try out some test cases to see if I can break anything, in the meantime
approved, you should check this in.





On Tue, Nov 2, 2010 at 6:15 PM, P T Withington <[email protected]> wrote:

> Change ptw-20101031-MxX by [email protected] on 2010-10-31 18:20:08 EDT
>    in /Users/ptw/OpenLaszlo/trunk-3
>    for http://svn.openlaszlo.org/openlaszlo/trunk
>
> Summary: Revise CSS inherit behavior to match standard
>
> Bugs Fixed:
>    LPP-9493 box-model incorrectly inherits style from parent node
>    LPP-9495 Need a way to say if a custom CSS property inherits or not
>    LPP-9496 Implement CSS 'inherit' keyword
>
> Technical Reviewer: [email protected] (pending)
> QA Reviewer: [email protected] (pending)
> Doc Reviewer: [email protected] (pending)
>
> Release Notes:
>
>    Summary
>
>    CSS properties no longer inherit (from parent) by default.  Only
>    the standard properties that are defined to inherit do so.  Custom
>    properties must explicitly state that they inherit using the new
>    `style` and `inherit` properties of <attribute>.
>
>    Details
>
>    a) Standard properties will only inherit if they are defined to do
>    so by the W3 standard:  http://www.w3.org/TR/CSS21/propidx.html
>
>    b) Custom CSS properties default to not inheriting.
>
>    c) The CSS `inherit` keyword can be used in a stylesheet to make
>    any CSS property have the inheriting behavior (where the CSS rule
>    is applicable).
>
>    d) There is a new property of <attribute>, when you specify
>    `style="property"`, you can also specify `inherit="true"`, to make
>    that CSS property inherit (or false to disable standard
>    inheritance).
>
>    e) For backwards compatibility, when there is no local applicable
>    CSS style property, but there is an inheritable property, the
>    inheritable property will be used.  In debug mode, you will get a
>    warning, in case this is not the intended behavior.  The warning
>    will give instructions on how to change your code to silence the
>    warning (i.e., to make the inherit behavior explicit).
>
> Details:
>
>    classes, neighborhoodclasses, subclassing, constraint-test,
>    simplerdescendent-test: Add `inherit="true"` to styled attributes
>    expecting to inherit to silence warnings.
>
>    speedtest: Specify `inherit` in CSS for subsubclass to silence
>    warnings.
>
>    designerview: Give a default value to miscdata, to silence
>    warnings.
>
>    LzSprite.js: Actually set the padding on the sprite div.
>
>    LzCSSStyle: Add table of standard attributes that inherit.
>    Completely rewrite property cache computation to compute both a
>    local and inherited cache, to inherit (according to rules
>    described in release notes), to listen for changes in inherited
>    properties, and to send an event only when the inherited
>    properties change.
>
>    LzDebug: Improve explainStyleBindings to omit redundant
>    information.
>
>    LzNode, NodeModel:  accumulate properties that are specified to
>    inherit and install them early on.  Add back-compatibility to find
>    inheritable properties if they exist and print a helpful warning
>    explaining "the new way".
>
>    CSSHandler, ViewSchema:  Handle the `inherit` keyword.
>
> Tests:
>
>    {smokecheck, metasuite, test from bug} x {swf8, swf10, dhtml}
>
> Files:
> M       test/style/classes/classes.lzx
> M       test/style/neighborhood/neighborhoodclasses.lzx
> M       test/style/constraints/subclassing.lzx
> M       test/style/constraints/speedtest.lzx
> M       test/style/constraints/constraint-test.lzx
> M       test/style/designerview.lzx
> M       test/style/descendantselector/simplerdescendant-test.lzx
> M       WEB-INF/lps/lfc/kernel/dhtml/LzSprite.js
> M       WEB-INF/lps/lfc/services/LzCSSStyle.lzs
> M       WEB-INF/lps/lfc/debugger/LzDebug.lzs
> M       WEB-INF/lps/lfc/core/LzNode.lzs
> M       WEB-INF/lps/server/src/org/openlaszlo/css/CSSHandler.java
> M       WEB-INF/lps/server/src/org/openlaszlo/compiler/ViewSchema.java
> M       WEB-INF/lps/server/src/org/openlaszlo/compiler/NodeModel.java
>
> Changeset:
> http://svn.openlaszlo.org/openlaszlo/patches/ptw-20101031-MxX.tar
>



-- 
Henry Minsky
Software Architect
[email protected]

Reply via email to