From 2d66301e9cca77fc2c6812b1576092791597fa61 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Emilio=20Cobos=20=C3=81lvarez?= Date: Wed, 13 Sep 2017 12:56:39 +0200 Subject: [PATCH] Be consistent about pseudo-elements in cascade_style. Fortunately the checks were done in such a way that no incorrect behavior is exposed. But worth doing it anyway. MozReview-Commit-ID: 8873FkMXXKo --- components/style/style_resolver.rs | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/components/style/style_resolver.rs b/components/style/style_resolver.rs index 3dec436a53c..546a38ed221 100644 --- a/components/style/style_resolver.rs +++ b/components/style/style_resolver.rs @@ -145,7 +145,6 @@ where relevant_link_found || parent_style.and_then(|s| s.get_visited_style()).is_some(); - let pseudo = self.element.implemented_pseudo_element(); if should_compute_visited_style { visited_style = Some(self.cascade_style( visited_rules.as_ref().or(Some(&primary_results.rule_node)), @@ -153,7 +152,7 @@ where parent_style, layout_parent_style, CascadeVisitedMode::Visited, - /* pseudo = */ pseudo.as_ref(), + /* pseudo = */ None, )); } let style = self.cascade_style( @@ -162,7 +161,7 @@ where parent_style, layout_parent_style, CascadeVisitedMode::Unvisited, - /* pseudo = */ pseudo.as_ref(), + /* pseudo = */ None, ); PrimaryStyle { style, } @@ -485,6 +484,12 @@ where cascade_visited: CascadeVisitedMode, pseudo: Option<&PseudoElement>, ) -> Arc { + debug_assert!( + self.element.implemented_pseudo_element().is_none() || pseudo.is_none(), + "Pseudo-elements can't have other pseudos!" + ); + debug_assert!(pseudo.map_or(true, |p| p.is_eager())); + let mut cascade_flags = CascadeFlags::empty(); if self.element.skip_root_and_item_based_display_fixup() ||