Index: third_party/WebKit/Source/core/css/SelectorChecker.cpp |
diff --git a/third_party/WebKit/Source/core/css/SelectorChecker.cpp b/third_party/WebKit/Source/core/css/SelectorChecker.cpp |
index 3b72243fdd7c400765bf48753e575aeafbe5e52d..6de86ec54df0cd76930ff7c0a95dc730962ca3c2 100644 |
--- a/third_party/WebKit/Source/core/css/SelectorChecker.cpp |
+++ b/third_party/WebKit/Source/core/css/SelectorChecker.cpp |
@@ -1039,17 +1039,13 @@ bool SelectorChecker::checkPseudoElement(const SelectorCheckingContext& context, |
break; |
} |
- if (!context.inRightmostCompound && m_mode == ResolvingStyle) |
- return false; |
- |
if (m_mode == QueryingRules) |
return false; |
+ if (m_mode == SharingRules) |
+ return true; |
- PseudoId pseudoId = CSSSelector::pseudoId(selector.pseudoType()); |
- if (pseudoId != NOPSEUDO && m_mode != SharingRules) |
- result.dynamicPseudo = pseudoId; |
- |
- // ::before, ::after, etc. |
+ result.dynamicPseudo = CSSSelector::pseudoId(selector.pseudoType()); |
+ ASSERT(result.dynamicPseudo != NOPSEUDO); |
return true; |
} |