DescriptionWeb Animations: Trigger and update CSS Animations backed by the Web Animations model
This patch introduces CSSAnimations which tracks the state of active CSS Animations for
a single Element. CSS Animation updates are calculated and effects applied during the
style resolution process (rather than post resolution as in the current implementation)
to allow our implementation to move towards the behavior specified by the CSSWG -- that
is, animations should apply as part of the style cascade before !important rules
(see http://crbug.com/232273).
This patch creates Keyframes from raw, unresolved CSS Values. A change is in progress to
implement a factory for AnimatableValues which will allow reading of the appropriate
resolved values from the render style (as the current implementation achieves by stashing
away an entire RenderStyle. See StyleResolver::styleForKeyframe and CSSPropertyAnimation).
This patch changes the lifetime of active CSS Animations to be managed by the Element (as
long as it is attached). In the current implementation active animations are owned by the
renderer but this has the consequence that animations are restarted on reattachment
(see http://crbug.com/265302).
Note that changes introduced by this patch are not yet shipping, they are governed by the
WebAnimationsCSS runtime feature and --enable-web-animations-css flag in Chromium.
This change is covered by existing layout tests in LayoutTests/animations/ -- however at
this point these tests are still being run manually as there are several other dependencies
before it will be feasible to enable the virtual suite for CSS Animations backed by Web
Animations.
BUG=258896, 265302, 232273
Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=155386
Patch Set 1 #
Total comments: 7
Patch Set 2 : Caculcate a delta during style resoltion and apply afterwards. #Patch Set 3 : Recompute and apply updates to active animations after style resolution. #
Total comments: 8
Patch Set 4 : Address review feedback. #Patch Set 5 : Fix windows build. #
Total comments: 17
Messages
Total messages: 18 (0 generated)
|