Index: Source/core/css/SelectorChecker.cpp |
diff --git a/Source/core/css/SelectorChecker.cpp b/Source/core/css/SelectorChecker.cpp |
index b461ea062ef79cabda5eec1694b49b42c0f81521..099a94cd6a4073d6787053d246c48cf3df6305a2 100644 |
--- a/Source/core/css/SelectorChecker.cpp |
+++ b/Source/core/css/SelectorChecker.cpp |
@@ -618,10 +618,8 @@ bool SelectorChecker::checkPseudoClass(const SelectorCheckingContext& context, c |
if (ContainerNode* parent = element.parentElementOrDocumentFragment()) { |
bool result = siblingTraversalStrategy.isFirstChild(element); |
if (m_mode == ResolvingStyle) { |
- RenderStyle* childStyle = context.elementStyle ? context.elementStyle : element.renderStyle(); |
parent->setChildrenAffectedByFirstChildRules(); |
- if (result && childStyle) |
- childStyle->setFirstChildState(); |
+ element.setAffectedByFirstChildRules(); |
} |
return result; |
} |
@@ -640,10 +638,8 @@ bool SelectorChecker::checkPseudoClass(const SelectorCheckingContext& context, c |
if (ContainerNode* parent = element.parentElementOrDocumentFragment()) { |
bool result = parent->isFinishedParsingChildren() && siblingTraversalStrategy.isLastChild(element); |
if (m_mode == ResolvingStyle) { |
- RenderStyle* childStyle = context.elementStyle ? context.elementStyle : element.renderStyle(); |
parent->setChildrenAffectedByLastChildRules(); |
- if (result && childStyle) |
- childStyle->setLastChildState(); |
+ element.setAffectedByLastChildRules(); |
} |
return result; |
} |
@@ -663,13 +659,10 @@ bool SelectorChecker::checkPseudoClass(const SelectorCheckingContext& context, c |
bool firstChild = siblingTraversalStrategy.isFirstChild(element); |
bool onlyChild = firstChild && parent->isFinishedParsingChildren() && siblingTraversalStrategy.isLastChild(element); |
if (m_mode == ResolvingStyle) { |
- RenderStyle* childStyle = context.elementStyle ? context.elementStyle : element.renderStyle(); |
parent->setChildrenAffectedByFirstChildRules(); |
parent->setChildrenAffectedByLastChildRules(); |
- if (firstChild && childStyle) |
- childStyle->setFirstChildState(); |
- if (onlyChild && childStyle) |
- childStyle->setLastChildState(); |
+ element.setAffectedByFirstChildRules(); |
+ element.setAffectedByLastChildRules(); |
} |
return onlyChild; |
} |