Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(182)

Unified Diff: third_party/WebKit/Source/core/css/SelectorChecker.cpp

Issue 2800853002: [instrumentation] Turn inspector override "probes" return values into output parameters. (Closed)
Patch Set: update BUILD.gn Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 4483a8e0ae13dcedfe5ff43d8dac9bc4e897deab..5f493e740bbcba8869cb7c68a1b6ecd56069e509 100644
--- a/third_party/WebKit/Source/core/css/SelectorChecker.cpp
+++ b/third_party/WebKit/Source/core/css/SelectorChecker.cpp
@@ -727,6 +727,7 @@ bool SelectorChecker::checkPseudoClass(const SelectorCheckingContext& context,
MatchResult& result) const {
Element& element = *context.element;
const CSSSelector& selector = *context.selector;
+ bool forcePseudoState = false;
if (context.hasScrollbarPseudo) {
// CSS scrollbars match a specific subset of pseudo classes, and they have
@@ -921,7 +922,9 @@ bool SelectorChecker::checkPseudoClass(const SelectorCheckingContext& context,
}
if (!shouldMatchHoverOrActive(context))
return false;
- if (probe::forcePseudoState(&element, CSSSelector::PseudoHover))
+ probe::forcePseudoState(&element, CSSSelector::PseudoHover,
+ &forcePseudoState);
+ if (forcePseudoState)
return true;
return element.isHovered();
case CSSSelector::PseudoActive:
@@ -937,7 +940,9 @@ bool SelectorChecker::checkPseudoClass(const SelectorCheckingContext& context,
}
if (!shouldMatchHoverOrActive(context))
return false;
- if (probe::forcePseudoState(&element, CSSSelector::PseudoActive))
+ probe::forcePseudoState(&element, CSSSelector::PseudoActive,
+ &forcePseudoState);
+ if (forcePseudoState)
return true;
return element.isActive();
case CSSSelector::PseudoEnabled:
@@ -1319,8 +1324,10 @@ bool SelectorChecker::checkScrollbarPseudoClass(
}
bool SelectorChecker::matchesFocusPseudoClass(const Element& element) {
- if (probe::forcePseudoState(const_cast<Element*>(&element),
- CSSSelector::PseudoFocus))
+ bool forcePseudoState = false;
+ probe::forcePseudoState(const_cast<Element*>(&element),
+ CSSSelector::PseudoFocus, &forcePseudoState);
+ if (forcePseudoState)
return true;
return element.isFocused() && isFrameFocused(element);
}

Powered by Google App Engine
This is Rietveld 408576698