| Index: Source/core/css/SelectorChecker.cpp
|
| diff --git a/Source/core/css/SelectorChecker.cpp b/Source/core/css/SelectorChecker.cpp
|
| index 7d05b704e5231a59543b1a704821063e02beb54b..f03f7f6f5a635d7fed15d72ff55390a86396a6a0 100644
|
| --- a/Source/core/css/SelectorChecker.cpp
|
| +++ b/Source/core/css/SelectorChecker.cpp
|
| @@ -398,6 +398,8 @@ SelectorChecker::Match SelectorChecker::matchForRelation(const SelectorCheckingC
|
|
|
| case CSSSelector::ShadowPseudo:
|
| {
|
| + if (!context.isUARule && context.selector->pseudoType() == CSSSelector::PseudoShadow)
|
| + UseCounter::countDeprecation(context.element->document(), UseCounter::CSSSelectorPseudoShadow);
|
| // If we're in the same tree-scope as the scoping element, then following a shadow descendant combinator would escape that and thus the scope.
|
| if (context.scope && context.scope->shadowHost() && context.scope->shadowHost()->treeScope() == context.element->treeScope())
|
| return SelectorFailsCompletely;
|
| @@ -413,6 +415,8 @@ SelectorChecker::Match SelectorChecker::matchForRelation(const SelectorCheckingC
|
|
|
| case CSSSelector::ShadowDeep:
|
| {
|
| + if (!context.isUARule)
|
| + UseCounter::countDeprecation(context.element->document(), UseCounter::CSSDeepCombinator);
|
| if (ShadowRoot* root = context.element->containingShadowRoot()) {
|
| if (root->type() == ShadowRoot::UserAgentShadowRoot)
|
| return SelectorFailsCompletely;
|
|
|