Web Animations CSS: Sample and snapshot new animations during resolution
In r155386[1] a simple strategy was planned for snapshotting and sampling of
new animations. It assumed that it was safe to apply the first keyframe of
an animation immediately, however this approach did not account for
animations with negative delays and various fill modes. Further, snapshotting
of missing keyframe values was happening after other animations had a chance
to apply.
To avoid these problems we need to evaluate the timing model and sample
the effect during style resolution.
This patch introduces the following changes:
* Inert animations are constructed and sampled during style resolution.
These animations are detached from other animation state (they are not
added to the list of active animations and do not fire events).
* The application of animated properties during resolution now happens
after all other properties have been applied. To meet the requirements of
css3-cascade any important rules (expected to be limited in number) are
then reapplied. This should allow the separate animation pass added in
r154056 to be reverted.
* CSSAnimationUpdate has been augmented to hold on to the Inert animations
so that after resolution has finished we can construct/start actual
animations that have the same timing and effect (same snapshotted values).
* The CSSAnimationUpdate calculated during style resolution is now threaded
out of resolution and added as a pending update on CSSAnimations.
* CSSAnimationUpdateScope augments the scopes where we apply new render
styles (Element style recalc, and the initial construction of the render
tree from NodeRenderingContext) and triggers application of the update.
[1] http://src.chromium.org/viewvc/blink?view=revision&revision=155386
BUG=258896
Review URL: https://chromiumcodereview.appspot.com/22793002
git-svn-id: svn://svn.chromium.org/blink/trunk@156841 bbb929c8-8fbe-4397-9dbb-9b2b20218538
diff --git a/third_party/WebKit/LayoutTests/TestExpectations b/third_party/WebKit/LayoutTests/TestExpectations
index c82a9a2..6f77583 100644
--- a/third_party/WebKit/LayoutTests/TestExpectations
+++ b/third_party/WebKit/LayoutTests/TestExpectations
@@ -297,13 +297,9 @@
# The implementation of CSS Animations on the Web Animations model is still in progress
# These can't be rebaselined because they're reftests.
-crbug.com/258896 virtual/web-animations-css/animations/additive-transform-animations.html [ ImageOnlyFailure ]
-crbug.com/258896 virtual/web-animations-css/animations/missing-values-first-keyframe.html [ ImageOnlyFailure ]
-crbug.com/258896 virtual/web-animations-css/animations/missing-values-last-keyframe.html [ ImageOnlyFailure ]
crbug.com/258896 virtual/web-animations-css/animations/opacity-transform-animation.html [ ImageOnlyFailure ]
+crbug.com/258896 virtual/web-animations-css/animations/play-state-paused.html [ ImageOnlyFailure ]
# These can't be rebaselined because they're crashes.
-crbug.com/258896 virtual/web-animations-css/animations/negative-delay.html [ Crash ]
-crbug.com/258896 virtual/web-animations-css/animations/animations-parsing.html [ Crash ]
crbug.com/258896 virtual/web-animations-css/animations/cross-fade-background-image.html [ Crash ]
crbug.com/258896 virtual/web-animations-css/animations/cross-fade-border-image-source.html [ Crash ]
crbug.com/258896 virtual/web-animations-css/animations/cross-fade-list-style-image.html [ Crash ]
@@ -311,11 +307,9 @@
crbug.com/258896 virtual/web-animations-css/animations/cross-fade-webkit-mask-image.html [ Crash ]
crbug.com/258896 virtual/web-animations-css/animations/empty-keyframe-animation.html [ Crash ]
crbug.com/258896 virtual/web-animations-css/animations/lineheight-animation.html [ Crash ]
-crbug.com/258896 virtual/web-animations-css/animations/negative-delay-events.html [ Crash ]
+crbug.com/258896 [ Debug ] virtual/web-animations-css/animations/width-using-ems.html [ Crash ]
crbug.com/258896 virtual/web-animations-css/animations/wrong-keyframe-name.html [ Crash ]
# These can't be rebaselined because the failure involves flaky output.
-crbug.com/258896 virtual/web-animations-css/animations/3d/matrix-transform-type-animation.html [ ImageOnlyFailure ]
-crbug.com/258896 virtual/web-animations-css/animations/3d/state-at-end-event-transform.html [ ImageOnlyFailure ]
crbug.com/258896 virtual/web-animations-css/animations/animation-direction-reverse-fill-mode.html [ Failure Timeout ]
crbug.com/258896 virtual/web-animations-css/animations/change-keyframes-name.html [ Failure ]
crbug.com/258896 virtual/web-animations-css/animations/fill-mode-iteration-count-non-integer.html [ Failure ]
@@ -324,13 +318,16 @@
crbug.com/258896 virtual/web-animations-css/animations/fill-mode-reverse.html [ Failure ]
crbug.com/258896 virtual/web-animations-css/animations/fill-mode-transform.html [ Failure ]
crbug.com/258896 virtual/web-animations-css/animations/fill-mode.html [ Failure ]
+crbug.com/258896 virtual/web-animations-css/animations/play-state.html [ Failure ]
crbug.com/258896 virtual/web-animations-css/animations/play-state-suspend.html [ Failure ]
crbug.com/258896 virtual/web-animations-css/animations/state-at-end-event.html [ Failure ]
+crbug.com/258896 virtual/web-animations-css/animations/3d/state-at-end-event-transform.html [ ImageOnlyFailure Pass ]
crbug.com/258896 virtual/web-animations-css/animations/suspend-resume-animation.html [ Failure ]
crbug.com/258896 virtual/web-animations-css/animations/suspend-transform-animation.html [ ImageOnlyFailure ]
crbug.com/258896 virtual/web-animations-css/animations/transition-and-animation-3.html [ Failure ]
# These can't be rebaselined because they time out.
-crbug.com/258896 [ Linux ] virtual/web-animations-css/animations/dynamic-stylesheet-loading.html [ Timeout ]
+crbug.com/258896 virtual/web-animations-css/animations/dynamic-stylesheet-loading.html [ Timeout Pass ]
+crbug.com/258896 virtual/web-animations-css/animations/fill-mode-forwards.html [ Timeout Pass ]
# This test is slow due to Mesa slowness.
crbug.com/244481 virtual/gpu/canvas/philip/tests/2d.shadow.blur.low.html [ Skip ]