Index: Source/core/dom/ContainerNode.h |
diff --git a/Source/core/dom/ContainerNode.h b/Source/core/dom/ContainerNode.h |
index b883311724178a50c25cfdc1429627498a362f0e..1389bbec7af92eb1e41f8b7529746aec18ddaa63 100644 |
--- a/Source/core/dom/ContainerNode.h |
+++ b/Source/core/dom/ContainerNode.h |
@@ -155,6 +155,8 @@ public: |
bool affectedByLastChildRules() const { return hasRestyleFlag(AffectedByLastChildRules); } |
void setAffectedByLastChildRules() { setRestyleFlag(AffectedByLastChildRules); } |
+ bool needsAdjacentStyleRecalc() const; |
+ |
// FIXME: These methods should all be renamed to something better than "check", |
// since it's not clear that they alter the style bits of siblings and children. |
void checkForChildrenAdjacentRuleChanges(); |
@@ -313,6 +315,13 @@ inline void ContainerNode::detachChildren(const AttachContext& context) |
child->detach(childrenContext); |
} |
+inline bool ContainerNode::needsAdjacentStyleRecalc() const |
+{ |
+ if (!childrenAffectedByDirectAdjacentRules() && !childrenAffectedByIndirectAdjacentRules()) |
+ return false; |
+ return childNeedsStyleRecalc() || childNeedsStyleInvalidation(); |
+} |
+ |
inline unsigned Node::countChildren() const |
{ |
if (!isContainerNode()) |