From bdf84510f8f61c328f774351072bb4d37b9d6daa Mon Sep 17 00:00:00 2001 From: Hiroyuki Ikezoe Date: Tue, 8 Aug 2017 10:01:46 +0900 Subject: [PATCH] Don't clear animation only dirty bit during style recalc (unless the element is in a display:none subtree). After bug 1356141, the setup of animation-only dirty bit should have matched to normal dirty bit's one (Though they don't match in post traversal due to throttled animation flush). An unset_animation_only_dirty_descendants call removed in this patch cleared dirty bits which are needed for post traversal if there is a second animation-only traversal and if there is no need to restyle for the second animation-only traversal. The reftest in this patch fails without either this fix or the fix for bug 1367975. See [Gecko bug 1384435 comment 12](https://bugzilla.mozilla.org/show_bug.cgi?id=1384435#c12) for more detail what's going on at that time. --- components/style/traversal.rs | 3 --- 1 file changed, 3 deletions(-) diff --git a/components/style/traversal.rs b/components/style/traversal.rs index cd90f568753..a430ad22ad7 100644 --- a/components/style/traversal.rs +++ b/components/style/traversal.rs @@ -563,9 +563,6 @@ where } else { element.has_dirty_descendants() }; - if flags.for_animation_only() { - unsafe { element.unset_animation_only_dirty_descendants(); } - } // Before examining each child individually, try to prove that our children // don't need style processing. They need processing if any of the following