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