Title: [268730] trunk/Source/WebCore
Revision
268730
Author
drou...@apple.com
Date
2020-10-20 08:37:24 -0700 (Tue, 20 Oct 2020)

Log Message

Web Inspector: REGRESSION(r260076): crash under InspectorInstrumentation::willApplyKeyframeEffect
https://bugs.webkit.org/show_bug.cgi?id=217936

Reviewed by Brian Burg.

Speculative fix by null-checking `targetElementOrPseudoElement()` before using it. Before
r260076 this was not necessary as `m_target` is null-checked earlier in the function, but
after it can now return `nullptr` depending on the value of `m_pseudoId`.

* animation/KeyframeEffect.cpp:
(WebCore::KeyframeEffect::apply):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (268729 => 268730)


--- trunk/Source/WebCore/ChangeLog	2020-10-20 15:17:47 UTC (rev 268729)
+++ trunk/Source/WebCore/ChangeLog	2020-10-20 15:37:24 UTC (rev 268730)
@@ -1,3 +1,17 @@
+2020-10-20  Devin Rousso  <drou...@apple.com>
+
+        Web Inspector: REGRESSION(r260076): crash under InspectorInstrumentation::willApplyKeyframeEffect
+        https://bugs.webkit.org/show_bug.cgi?id=217936
+
+        Reviewed by Brian Burg.
+
+        Speculative fix by null-checking `targetElementOrPseudoElement()` before using it. Before
+        r260076 this was not necessary as `m_target` is null-checked earlier in the function, but
+        after it can now return `nullptr` depending on the value of `m_pseudoId`.
+
+        * animation/KeyframeEffect.cpp:
+        (WebCore::KeyframeEffect::apply):
+
 2020-10-20  Michael Catanzaro  <mcatanz...@gnome.org>
 
         Unused parameter warning in GraphicsContextCairo.cpp

Modified: trunk/Source/WebCore/animation/KeyframeEffect.cpp (268729 => 268730)


--- trunk/Source/WebCore/animation/KeyframeEffect.cpp	2020-10-20 15:17:47 UTC (rev 268729)
+++ trunk/Source/WebCore/animation/KeyframeEffect.cpp	2020-10-20 15:37:24 UTC (rev 268730)
@@ -1259,7 +1259,8 @@
     auto computedTiming = getComputedTiming(startTime);
     if (!startTime) {
         m_phaseAtLastApplication = computedTiming.phase;
-        InspectorInstrumentation::willApplyKeyframeEffect(*targetElementOrPseudoElement(), *this, computedTiming);
+        if (auto* target = targetElementOrPseudoElement())
+            InspectorInstrumentation::willApplyKeyframeEffect(*target, *this, computedTiming);
     }
 
     if (!computedTiming.progress)
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to