WebCore:

        Make :first-child and :first-of-type properly dynamic when the DOM changes.  Brings the Acid3 score up
        to 66/100.

        Reviewed by olliej

        Added fast/css/first-child-pseudo-class.html, fast/css/first-of-type-pseudo-class.html, fast/css/empty-body-test.html

        * css/CSSGrammar.y:
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::checkOneSelector):
        * dom/Element.cpp:
        (WebCore::Element::recalcStyle):
        (WebCore::Element::childrenChanged):
        * rendering/RenderStyle.cpp:
        (WebCore::RenderStyle::RenderStyle):
        * rendering/RenderStyle.h:
        (WebCore::RenderStyle::childrenAffectedByFirstChildRules):
        (WebCore::RenderStyle::setChildrenAffectedByFirstChildRules):
        (WebCore::RenderStyle::childrenAffectedByLastChildRules):
        (WebCore::RenderStyle::setChildrenAffectedByLastChildRules):
        (WebCore::RenderStyle::childrenAffectedByPositionalRules):
        (WebCore::RenderStyle::setChildrenAffectedByPositionalRules):
        (WebCore::RenderStyle::firstChildState):
        (WebCore::RenderStyle::setFirstChildState):
        (WebCore::RenderStyle::lastChildState):
        (WebCore::RenderStyle::setLastChildState):

LayoutTests:

        Added tests for dynamic :first-child support (Acid3).

        Reviewed by olliej

        * fast/css/empty-body-test.html: Added.
        * fast/css/first-child-pseudo-class.html: Added.
        * fast/css/first-of-type-pseudo-class.html: Added.
        * platform/mac/fast/css/empty-body-test-expected.checksum: Added.
        * platform/mac/fast/css/empty-body-test-expected.png: Added.
        * platform/mac/fast/css/empty-body-test-expected.txt: Added.
        * platform/mac/fast/css/first-child-pseudo-class-expected.checksum: Added.
        * platform/mac/fast/css/first-child-pseudo-class-expected.png: Added.
        * platform/mac/fast/css/first-child-pseudo-class-expected.txt: Added.
        * platform/mac/fast/css/first-of-type-pseudo-class-expected.checksum: Added.
        * platform/mac/fast/css/first-of-type-pseudo-class-expected.png: Added.
        * platform/mac/fast/css/first-of-type-pseudo-class-expected.txt: Added.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29932 268f45cc-cd09-0410-ab3c-d52691b4dbfc
19 files changed