transitions/default-timing-function.html is failing
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 7 Jan 2020 20:38:43 +0000 (20:38 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 7 Jan 2020 20:38:43 +0000 (20:38 +0000)
https://bugs.webkit.org/show_bug.cgi?id=205804
<rdar://problem/58343509>

Patch by Antoine Quint <graouts@apple.com> on 2020-01-07
Reviewed by Simon Fraser.

To pause a Web Animation at a given time, we need to call `pause()` first and set `currentTime` after. Otherwise, the animation's hold
time will not be set to the provided value and the time may progress between the moment pause() was called and the moment the pending
pause task it creates is performed.

The reason the behavior changed for this test is because in r254042 we added a call to updateRendering() which updates the timeline time
which otherwise wouldn't have been updated.

* animations/resources/animation-test-helpers.js:
* transitions/resources/transition-test-helpers.js:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@254146 268f45cc-cd09-0410-ab3c-d52691b4dbfc

LayoutTests/ChangeLog
LayoutTests/animations/resources/animation-test-helpers.js
LayoutTests/transitions/resources/transition-test-helpers.js

index f567f6f..8074cb0 100644 (file)
@@ -1,3 +1,21 @@
+2020-01-07  Antoine Quint  <graouts@apple.com>
+
+        transitions/default-timing-function.html is failing
+        https://bugs.webkit.org/show_bug.cgi?id=205804
+        <rdar://problem/58343509>
+
+        Reviewed by Simon Fraser.
+
+        To pause a Web Animation at a given time, we need to call `pause()` first and set `currentTime` after. Otherwise, the animation's hold
+        time will not be set to the provided value and the time may progress between the moment pause() was called and the moment the pending
+        pause task it creates is performed.
+        
+        The reason the behavior changed for this test is because in r254042 we added a call to updateRendering() which updates the timeline time
+        which otherwise wouldn't have been updated.
+
+        * animations/resources/animation-test-helpers.js:
+        * transitions/resources/transition-test-helpers.js:
+
 2020-01-07  Devin Rousso  <drousso@apple.com>
 
         REGRESSION: [ Mac Debug ] inspector/page/setBootstrapScript-main-frame.html is a flaky failure
index d2d15b4..18a5a01 100644 (file)
@@ -522,8 +522,8 @@ function pauseAnimationAtTimeOnElement(animationName, time, element)
     const animations = element.getAnimations();
     for (let animation of animations) {
         if (animation instanceof CSSAnimation && animation.animationName == animationName) {
-            animation.currentTime = time * 1000;
             animation.pause();
+            animation.currentTime = time * 1000;
             return true;
         }
     }
index be0d49e..7e79d0c 100644 (file)
@@ -392,8 +392,8 @@ function pauseTransitionAtTimeOnElement(transitionProperty, time, element)
     const animations = element.getAnimations();
     for (let animation of animations) {
         if (animation instanceof CSSTransition && animation.transitionProperty == transitionProperty) {
-            animation.currentTime = time * 1000;
             animation.pause();
+            animation.currentTime = time * 1000;
             return true;
         }
     }