Bug 1377469: Don't inherit from the parent visited style if we're a link. r?jryans
MozReview-Commit-ID: CoMj9KSb5w9
--- a/servo/components/style/style_resolver.rs
+++ b/servo/components/style/style_resolver.rs
@@ -469,19 +469,21 @@ where
) -> Arc<ComputedValues> {
let mut cascade_info = CascadeInfo::new();
let mut cascade_flags = CascadeFlags::empty();
if self.element.skip_root_and_item_based_display_fixup() {
cascade_flags.insert(SKIP_ROOT_AND_ITEM_BASED_DISPLAY_FIXUP);
}
if cascade_visited.visited_dependent_only() {
- parent_style = parent_style.map(|s| {
- s.get_visited_style().unwrap_or(s)
- });
+ if pseudo.is_some() || !self.element.is_link() {
+ parent_style = parent_style.map(|s| {
+ s.get_visited_style().unwrap_or(s)
+ });
+ }
cascade_flags.insert(VISITED_DEPENDENT_ONLY);
}
if self.element.is_native_anonymous() || pseudo.is_some() {
cascade_flags.insert(PROHIBIT_DISPLAY_CONTENTS);
} else if self.element.is_root() {
cascade_flags.insert(IS_ROOT_ELEMENT);
}