Index: Source/core/css/CSSSelectorList.cpp |
diff --git a/Source/core/css/CSSSelectorList.cpp b/Source/core/css/CSSSelectorList.cpp |
index ab96e144bb2752f258cf5f603d34143ed0d1ac1c..b51944e7877d077ba2b712c9119d9f12442ed6c6 100644 |
--- a/Source/core/css/CSSSelectorList.cpp |
+++ b/Source/core/css/CSSSelectorList.cpp |
@@ -195,4 +195,18 @@ bool CSSSelectorList::selectorCrossesTreeScopes(size_t index) const |
return forEachTagSelector(functor, selectorAt(index)); |
} |
+class SelectorNeedsUpdatedDistribution { |
+public: |
+ bool operator()(const CSSSelector& selector) |
+ { |
+ return selector.relationIsAffectedByPseudoContent() || selector.pseudoType() == CSSSelector::PseudoHostContext; |
+ } |
+}; |
+ |
+bool CSSSelectorList::selectorNeedsUpdatedDistribution(size_t index) const |
+{ |
+ SelectorNeedsUpdatedDistribution functor; |
+ return forEachTagSelector(functor, selectorAt(index)); |
+} |
+ |
} // namespace blink |