diff --git a/components/style/traversal_flags.rs b/components/style/traversal_flags.rs index 2e3e0f4c2ad..473b576a456 100644 --- a/components/style/traversal_flags.rs +++ b/components/style/traversal_flags.rs @@ -34,6 +34,10 @@ bitflags! { /// Allows the traversal to run in parallel if there are sufficient cores on /// the machine. const ParallelTraversal = 1 << 7, + /// Flush throttled animations. By default, we only update throttled animations + /// when we have other non-throttled work to do. With this flag, we + /// unconditionally tick and process them. + const FlushThrottledAnimations = 1 << 8, } } @@ -67,6 +71,7 @@ pub fn assert_traversal_flags_match() { ServoTraversalFlags_ClearAnimationOnlyDirtyDescendants => ClearAnimationOnlyDirtyDescendants, ServoTraversalFlags_ParallelTraversal => ParallelTraversal, + ServoTraversalFlags_FlushThrottledAnimations => FlushThrottledAnimations, } } diff --git a/ports/geckolib/glue.rs b/ports/geckolib/glue.rs index 0d0ff0db9be..fddc9676ca5 100644 --- a/ports/geckolib/glue.rs +++ b/ports/geckolib/glue.rs @@ -278,13 +278,6 @@ pub extern "C" fn Servo_TraverseSubtree(root: RawGeckoElementBorrowed, } } - if traversal_flags.for_animation_only() { - debug!("Servo_TraverseSubtree complete (animation-only, aodd={})", - element.has_animation_only_dirty_descendants()); - return element.has_animation_only_dirty_descendants() || - element.borrow_data().unwrap().restyle.is_restyle(); - } - traverse_subtree(element, raw_data, traversal_flags,