Title: [274824] trunk/Source/WebCore
Revision
274824
Author
[email protected]
Date
2021-03-22 17:18:41 -0700 (Mon, 22 Mar 2021)

Log Message

[Web Animations] nullptr crash in updatePlaybackRate() with no timeline
https://bugs.webkit.org/show_bug.cgi?id=223095

Patch by Ian Gilbert <[email protected]> on 2021-03-22
Reviewed by Ryosuke Niwa.

Changed to WebAnimation::remove() to use setTimeline() instead of setTimelineInternal()
to ensure the animation is in the correct play state.

No new tests as this relies on navigating while updating the playback rate and I was unable to make
a reliable test case.

* animation/WebAnimation.cpp:
(WebCore::WebAnimation::remove): Changed setTimelineInternal() to setTimeline() in order to
ensure the animation has the correct play state.

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (274823 => 274824)


--- trunk/Source/WebCore/ChangeLog	2021-03-23 00:13:24 UTC (rev 274823)
+++ trunk/Source/WebCore/ChangeLog	2021-03-23 00:18:41 UTC (rev 274824)
@@ -1,3 +1,20 @@
+2021-03-22  Ian Gilbert  <[email protected]>
+
+        [Web Animations] nullptr crash in updatePlaybackRate() with no timeline
+        https://bugs.webkit.org/show_bug.cgi?id=223095
+
+        Reviewed by Ryosuke Niwa.
+
+        Changed to WebAnimation::remove() to use setTimeline() instead of setTimelineInternal()
+        to ensure the animation is in the correct play state.
+
+        No new tests as this relies on navigating while updating the playback rate and I was unable to make
+        a reliable test case.
+
+        * animation/WebAnimation.cpp:
+        (WebCore::WebAnimation::remove): Changed setTimelineInternal() to setTimeline() in order to
+        ensure the animation has the correct play state.
+
 2021-03-22  Patrick Angle  <[email protected]>
 
         Web Inspector: Port grid overlay drawing to iOS

Modified: trunk/Source/WebCore/animation/WebAnimation.cpp (274823 => 274824)


--- trunk/Source/WebCore/animation/WebAnimation.cpp	2021-03-23 00:13:24 UTC (rev 274823)
+++ trunk/Source/WebCore/animation/WebAnimation.cpp	2021-03-23 00:18:41 UTC (rev 274824)
@@ -120,7 +120,7 @@
     // This object could be deleted after either clearing the effect or timeline relationship.
     auto protectedThis = makeRef(*this);
     setEffectInternal(nullptr);
-    setTimelineInternal(nullptr);
+    setTimeline(nullptr);
 }
 
 void WebAnimation::suspendEffectInvalidation()
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to