| Index: third_party/WebKit/Source/core/css/RuleFeature.cpp
|
| diff --git a/third_party/WebKit/Source/core/css/RuleFeature.cpp b/third_party/WebKit/Source/core/css/RuleFeature.cpp
|
| index 9b08b9893cba33e57317b063378cf0216a77f722..f3f254a35d99e58da2d4441bee16dc154c980c82 100644
|
| --- a/third_party/WebKit/Source/core/css/RuleFeature.cpp
|
| +++ b/third_party/WebKit/Source/core/css/RuleFeature.cpp
|
| @@ -609,10 +609,13 @@ RuleFeatureSet::SelectorPreMatch RuleFeatureSet::collectFeaturesFromSelector(con
|
| break;
|
| case CSSSelector::PseudoHost:
|
| case CSSSelector::PseudoHostContext:
|
| - if (relation == CSSSelector::SubSelector)
|
| + if (!foundHostPseudo && relation == CSSSelector::SubSelector)
|
| return SelectorNeverMatches;
|
| - if (!current->isLastInTagHistory() && current->tagHistory()->match() != CSSSelector::PseudoElement)
|
| + if (!current->isLastInTagHistory()
|
| + && current->tagHistory()->match() != CSSSelector::PseudoElement
|
| + && !current->tagHistory()->isHostPseudoClass()) {
|
| return SelectorNeverMatches;
|
| + }
|
| foundHostPseudo = true;
|
| // fall through.
|
| default:
|
|
|