Index: third_party/WebKit/Source/core/css/CSSSelectorList.cpp |
diff --git a/third_party/WebKit/Source/core/css/CSSSelectorList.cpp b/third_party/WebKit/Source/core/css/CSSSelectorList.cpp |
index 23cd25f04315ade12d5422ea88fe4fddffa7f1a2..8f2351cd2b88b2419ecb9a0376bcbf21764bb16a 100644 |
--- a/third_party/WebKit/Source/core/css/CSSSelectorList.cpp |
+++ b/third_party/WebKit/Source/core/css/CSSSelectorList.cpp |
@@ -175,6 +175,20 @@ bool CSSSelectorList::selectorHasShadowDistributed(size_t index) const |
return forEachTagSelector(functor, selectorAt(index)); |
} |
+class SelectorHasShadowSlotted { |
+public: |
+ bool operator()(const CSSSelector& selector) |
+ { |
+ return selector.relationIsAffectedByPseudoSlotted(); |
+ } |
+}; |
+ |
+bool CSSSelectorList::selectorHasShadowSlotted(size_t index) const |
+{ |
+ SelectorHasShadowSlotted functor; |
+ return forEachTagSelector(functor, selectorAt(index)); |
+} |
+ |
class SelectorUsesDeepCombinatorOrShadowPseudo { |
public: |
bool operator()(const CSSSelector& selector) |
@@ -193,7 +207,7 @@ class SelectorNeedsUpdatedDistribution { |
public: |
bool operator()(const CSSSelector& selector) |
{ |
- return selector.relationIsAffectedByPseudoContent() || selector.pseudoType() == CSSSelector::PseudoHostContext; |
+ return selector.relationIsAffectedByPseudoContent() || selector.pseudoType() == CSSSelector::PseudoHostContext || selector.pseudoType() == CSSSelector::PseudoSlotted; |
} |
}; |