[Webkit-unassigned] [Bug 123170] Keyframe animations do multiple style recalcs before starting
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Tue Oct 22 17:12:17 PDT 2013
https://bugs.webkit.org/show_bug.cgi?id=123170
Simon Fraser (smfr) <simon.fraser at apple.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Attachment #214906|review? |review-
Flag| |
--- Comment #3 from Simon Fraser (smfr) <simon.fraser at apple.com> 2013-10-22 17:11:02 PST ---
(From update of attachment 214906)
View in context: https://bugs.webkit.org/attachment.cgi?id=214906&action=review
> Source/WebCore/ChangeLog:16
> + (WebCore::KeyframeAnimation::animate):
> + Reorder advancing the state machine and calling AnimationBase::fireAnimationEventsIfNeeded. This allows AnimationBase's state machine to advance past WaitForStyle after the first recalc. This order matches what ImplicitAnimation::animate does for transitions.
If this is a behavior change, you should be able to make a testcase for it.
> Source/WebCore/page/animation/KeyframeAnimation.cpp:69
> +#if USE(ACCELERATED_COMPOSITING)
> + // Force the compositor to schedule a layer flush here so that it occurs before the
> + // animation timer, which will be scheduled later (but after the animation has been
> + // added to the layer in the composited case).
> + if (m_object && toRenderBoxModelObject(m_object)->layer())
> + toRenderBoxModelObject(m_object)->layer()->compositor().scheduleLayerFlush(false);
> +#endif
You can't just do this for all animations, and this seems wrong. We'll schedule a layer flush when we push the animations to the GraphicsLayerCA, which probably happens in the same runloop anyway.
--
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
More information about the webkit-unassigned
mailing list