Bug 1377469: Don't inherit from the parent visited style if we're a link. r?jryans draft
authorEmilio Cobos Álvarez <emilio@crisal.io>
Thu, 20 Jul 2017 05:45:44 +0200
changeset 612156 e54d6a430e252b4d7b8dc0c1f393f215b58fabf6
parent 612155 b2187dd65453f056cf9970345dd797a80a517d5e
child 612157 7a71a033cdd8f49964beb8cae1e4d35cb772164b
push id69403
push userbmo:emilio+bugs@crisal.io
push dateThu, 20 Jul 2017 11:34:20 +0000
reviewersjryans
bugs1377469
milestone56.0a1
Bug 1377469: Don't inherit from the parent visited style if we're a link. r?jryans MozReview-Commit-ID: CoMj9KSb5w9
servo/components/style/style_resolver.rs
--- 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);
         }