Index: Source/core/css/SelectorChecker.cpp |
diff --git a/Source/core/css/SelectorChecker.cpp b/Source/core/css/SelectorChecker.cpp |
index 099a94cd6a4073d6787053d246c48cf3df6305a2..ebd2916f460cdc339b9ef6eefadee175bb646030 100644 |
--- a/Source/core/css/SelectorChecker.cpp |
+++ b/Source/core/css/SelectorChecker.cpp |
@@ -779,9 +779,7 @@ bool SelectorChecker::checkPseudoClass(const SelectorCheckingContext& context, c |
} |
return matchesFocusPseudoClass(element); |
case CSSSelector::PseudoHover: |
- // If we're in quirks mode, then hover should never match anchors with no |
- // href and *:hover should not match anything. This is important for sites like wsj.com. |
- if (m_strictParsing || context.isSubSelector || element.isLink()) { |
+ if (shouldMatchHoverOrActive(context)) { |
if (m_mode == ResolvingStyle) { |
if (context.elementStyle) |
context.elementStyle->setAffectedByHover(); |
@@ -793,9 +791,7 @@ bool SelectorChecker::checkPseudoClass(const SelectorCheckingContext& context, c |
} |
break; |
case CSSSelector::PseudoActive: |
- // If we're in quirks mode, then :active should never match anchors with no |
- // href and *:active should not match anything. |
- if (m_strictParsing || context.isSubSelector || element.isLink()) { |
+ if (shouldMatchHoverOrActive(context)) { |
if (m_mode == ResolvingStyle) { |
if (context.elementStyle) |
context.elementStyle->setAffectedByActive(); |