diff --git a/components/selectors/context.rs b/components/selectors/context.rs index 4df494eca98..75abfea9f18 100644 --- a/components/selectors/context.rs +++ b/components/selectors/context.rs @@ -182,10 +182,10 @@ where } } - /// How many times deep are we in a selector. + /// Whether we're matching a nested selector. #[inline] - pub fn nesting_level(&self) -> usize { - self.nesting_level + pub fn is_nested(&self) -> bool { + self.nesting_level != 0 } /// The quirks mode of the document. diff --git a/components/selectors/matching.rs b/components/selectors/matching.rs index 97679e989a9..6b1fae8cc32 100644 --- a/components/selectors/matching.rs +++ b/components/selectors/matching.rs @@ -286,7 +286,7 @@ where // If this is the special pseudo-element mode, consume the ::pseudo-element // before proceeding, since the caller has already handled that part. if context.matching_mode == MatchingMode::ForStatelessPseudoElement && - context.nesting_level() == 0 { + !context.is_nested() { // Consume the pseudo. match *iter.next().unwrap() { Component::PseudoElement(ref pseudo) => { @@ -342,7 +342,7 @@ fn matches_hover_and_active_quirk( return MatchesHoverAndActiveQuirk::No; } - if context.nesting_level() != 0 { + if context.is_nested() { return MatchesHoverAndActiveQuirk::No; } @@ -718,9 +718,10 @@ where } Component::NonTSPseudoClass(ref pc) => { if context.matches_hover_and_active_quirk == MatchesHoverAndActiveQuirk::Yes && - context.shared.nesting_level() == 0 && + !context.shared.is_nested() && E::Impl::is_active_or_hover(pc) && - !element.is_link() { + !element.is_link() + { return false; }