Title: [233584] trunk
Revision
233584
Author
[email protected]
Date
2018-07-06 11:37:21 -0700 (Fri, 06 Jul 2018)

Log Message

[Web Animations] Make WPT test at interfaces/Animation/finished.html pass reliably
https://bugs.webkit.org/show_bug.cgi?id=186497
<rdar://problem/41000193>

Reviewed by Dean Jackson.

LayoutTests/imported/w3c:

Mark WPT progression.

* web-platform-tests/web-animations/interfaces/Animation/finished-expected.txt:

Source/WebCore:

We need to ensure the finished state is updated as a result of any timing property changing.

* animation/AnimationEffectReadOnly.cpp:
(WebCore::AnimationEffectReadOnly::timingDidChange):
* animation/WebAnimation.cpp:
(WebCore::WebAnimation::effectTimingPropertiesDidChange):
* animation/WebAnimation.h:

Modified Paths

Diff

Modified: trunk/LayoutTests/imported/w3c/ChangeLog (233583 => 233584)


--- trunk/LayoutTests/imported/w3c/ChangeLog	2018-07-06 18:31:12 UTC (rev 233583)
+++ trunk/LayoutTests/imported/w3c/ChangeLog	2018-07-06 18:37:21 UTC (rev 233584)
@@ -1,5 +1,17 @@
 2018-07-05  Antoine Quint  <[email protected]>
 
+        [Web Animations] Make WPT test at interfaces/Animation/finished.html pass reliably
+        https://bugs.webkit.org/show_bug.cgi?id=186497
+        <rdar://problem/41000193>
+
+        Reviewed by Dean Jackson.
+
+        Mark WPT progression.
+
+        * web-platform-tests/web-animations/interfaces/Animation/finished-expected.txt:
+
+2018-07-05  Antoine Quint  <[email protected]>
+
         [Web Animations] The ready promise should initially be resolved
         https://bugs.webkit.org/show_bug.cgi?id=187341
         <rdar://problem/41844711>

Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/interfaces/Animation/finished-expected.txt (233583 => 233584)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/interfaces/Animation/finished-expected.txt	2018-07-06 18:31:12 UTC (rev 233583)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/interfaces/Animation/finished-expected.txt	2018-07-06 18:37:21 UTC (rev 233584)
@@ -8,7 +8,7 @@
 PASS The finished promise is fulfilled with its Animation 
 PASS finished promise is rejected when an animation is canceled by calling cancel() 
 PASS canceling an already-finished animation replaces the finished promise 
-FAIL Test finished promise changes for animation duration changes assert_false: shortening of the animation duration should resolve the finished promise expected false got true
+PASS Test finished promise changes for animation duration changes 
 PASS Test finished promise changes when playbackRate == 0 
 PASS Test finished promise resolves when reaching to the natural boundary. 
 PASS Test finished promise changes when a prior finished promise resolved and the animation falls out finished state 

Modified: trunk/Source/WebCore/ChangeLog (233583 => 233584)


--- trunk/Source/WebCore/ChangeLog	2018-07-06 18:31:12 UTC (rev 233583)
+++ trunk/Source/WebCore/ChangeLog	2018-07-06 18:37:21 UTC (rev 233584)
@@ -1,3 +1,19 @@
+2018-07-05  Antoine Quint  <[email protected]>
+
+        [Web Animations] Make WPT test at interfaces/Animation/finished.html pass reliably
+        https://bugs.webkit.org/show_bug.cgi?id=186497
+        <rdar://problem/41000193>
+
+        Reviewed by Dean Jackson.
+
+        We need to ensure the finished state is updated as a result of any timing property changing.
+
+        * animation/AnimationEffectReadOnly.cpp:
+        (WebCore::AnimationEffectReadOnly::timingDidChange):
+        * animation/WebAnimation.cpp:
+        (WebCore::WebAnimation::effectTimingPropertiesDidChange):
+        * animation/WebAnimation.h:
+
 2018-07-06  Antoine Quint  <[email protected]>
 
         [Web Animations] Using a Web Animation leaks the Document

Modified: trunk/Source/WebCore/animation/AnimationEffectReadOnly.cpp (233583 => 233584)


--- trunk/Source/WebCore/animation/AnimationEffectReadOnly.cpp	2018-07-06 18:31:12 UTC (rev 233583)
+++ trunk/Source/WebCore/animation/AnimationEffectReadOnly.cpp	2018-07-06 18:37:21 UTC (rev 233584)
@@ -48,7 +48,7 @@
 void AnimationEffectReadOnly::timingDidChange()
 {
     if (m_animation)
-        m_animation->timingModelDidChange();
+        m_animation->effectTimingPropertiesDidChange();
 }
 
 std::optional<Seconds> AnimationEffectReadOnly::localTime() const

Modified: trunk/Source/WebCore/animation/WebAnimation.cpp (233583 => 233584)


--- trunk/Source/WebCore/animation/WebAnimation.cpp	2018-07-06 18:31:12 UTC (rev 233583)
+++ trunk/Source/WebCore/animation/WebAnimation.cpp	2018-07-06 18:37:21 UTC (rev 233584)
@@ -90,6 +90,12 @@
     --m_suspendCount;
 }
 
+void WebAnimation::effectTimingPropertiesDidChange()
+{
+    updateFinishedState(DidSeek::No, SynchronouslyNotify::Yes);
+    timingModelDidChange();
+}
+
 void WebAnimation::timingModelDidChange()
 {
     if (!isEffectInvalidationSuspended() && m_effect)

Modified: trunk/Source/WebCore/animation/WebAnimation.h (233583 => 233584)


--- trunk/Source/WebCore/animation/WebAnimation.h	2018-07-06 18:31:12 UTC (rev 233583)
+++ trunk/Source/WebCore/animation/WebAnimation.h	2018-07-06 18:37:21 UTC (rev 233584)
@@ -112,6 +112,7 @@
     void applyPendingAcceleratedActions();
 
     void timingModelDidChange();
+    void effectTimingPropertiesDidChange();
     void suspendEffectInvalidation();
     void unsuspendEffectInvalidation();
     void setSuspended(bool);
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to