Share more code for the primary style resolution.

The code before predated the existence of CascadeInputs, I believe.

MozReview-Commit-ID: 2zPVfWZkgoh
This commit is contained in:
Emilio Cobos Álvarez 2017-09-13 13:08:49 +02:00 committed by Bobby Holley
parent 2d66301e9c
commit 46288f9c46

View file

@ -140,34 +140,19 @@ where
None None
}; };
let mut visited_style = None; PrimaryStyle {
let should_compute_visited_style = style: self.cascade_style_and_visited(
relevant_link_found || CascadeInputs {
parent_style.and_then(|s| s.get_visited_style()).is_some(); rules: Some(primary_results.rule_node),
visited_rules,
if should_compute_visited_style { },
visited_style = Some(self.cascade_style(
visited_rules.as_ref().or(Some(&primary_results.rule_node)),
/* style_if_visited = */ None,
parent_style, parent_style,
layout_parent_style, layout_parent_style,
CascadeVisitedMode::Visited,
/* pseudo = */ None, /* pseudo = */ None,
)); ),
} }
let style = self.cascade_style(
Some(&primary_results.rule_node),
visited_style,
parent_style,
layout_parent_style,
CascadeVisitedMode::Unvisited,
/* pseudo = */ None,
);
PrimaryStyle { style, }
} }
/// Resolve the style of a given element, and all its eager pseudo-elements. /// Resolve the style of a given element, and all its eager pseudo-elements.
pub fn resolve_style( pub fn resolve_style(
&mut self, &mut self,