Index: Source/core/css/SelectorChecker.cpp |
diff --git a/Source/core/css/SelectorChecker.cpp b/Source/core/css/SelectorChecker.cpp |
index c419e53146dacc0e6810f6a3b43da62f076efa29..36d9f5f8c2ddee0301070505f5bd4d84b48fe9e4 100644 |
--- a/Source/core/css/SelectorChecker.cpp |
+++ b/Source/core/css/SelectorChecker.cpp |
@@ -151,6 +151,9 @@ SelectorChecker::Match SelectorChecker::match(const SelectorCheckingContext& con |
if (context.selector->isCustomPseudoElement()) { |
if (!matchesCustomPseudoElement(context.element, *context.selector)) |
return SelectorFailsLocally; |
+ } else if (context.selector->isContentPseudoElement()) { |
+ if (!context.element->isInShadowTree() || !context.element->isInsertionPoint()) |
+ return SelectorFailsLocally; |
} else { |
if ((!context.elementStyle && m_mode == ResolvingStyle) || m_mode == QueryingRules) |
return SelectorFailsLocally; |
@@ -273,10 +276,6 @@ SelectorChecker::Match SelectorChecker::matchForRelation(const SelectorCheckingC |
nextContext.elementStyle = 0; |
return match(nextContext, siblingTraversalStrategy, result); |
} |
- |
- case CSSSelector::ShadowContent: |
- return matchForShadowDistributed(context.element, siblingTraversalStrategy, nextContext, result); |
- |
case CSSSelector::DirectAdjacent: |
if (m_mode == ResolvingStyle) { |
if (ContainerNode* parent = context.element->parentElementOrShadowRoot()) |