Title: [266232] trunk
Revision
266232
Author
an...@apple.com
Date
2020-08-27 08:42:07 -0700 (Thu, 27 Aug 2020)

Log Message

Step animations invalidate style on every rendering update whether or not they need to
https://bugs.webkit.org/show_bug.cgi?id=215229
<rdar://problem/66636153>

Reviewed by Antoine Quint.

Source/WebCore:

Step timing functions with transforms try and fail to start accelerated which causes them to repeatedly schedule unnecessary rendering updates.

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

Step timing functions are never accelerated so don't bother trying to start them in accelerated state.
This is similar to treatmeant of unaccelerated properties.

LayoutTests:

* animations/steps-transform-rendering-updates-expected.txt:

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (266231 => 266232)


--- trunk/LayoutTests/ChangeLog	2020-08-27 13:42:49 UTC (rev 266231)
+++ trunk/LayoutTests/ChangeLog	2020-08-27 15:42:07 UTC (rev 266232)
@@ -1,3 +1,13 @@
+2020-08-27  Antti Koivisto  <an...@apple.com>
+
+        Step animations invalidate style on every rendering update whether or not they need to
+        https://bugs.webkit.org/show_bug.cgi?id=215229
+        <rdar://problem/66636153>
+
+        Reviewed by Antoine Quint.
+
+        * animations/steps-transform-rendering-updates-expected.txt:
+
 2020-08-27  Youenn Fablet  <you...@apple.com>
 
         Remove console logs from expected.txt files for some WebSocket tests

Modified: trunk/LayoutTests/animations/steps-transform-rendering-updates-expected.txt (266231 => 266232)


--- trunk/LayoutTests/animations/steps-transform-rendering-updates-expected.txt	2020-08-27 13:42:49 UTC (rev 266231)
+++ trunk/LayoutTests/animations/steps-transform-rendering-updates-expected.txt	2020-08-27 15:42:07 UTC (rev 266232)
@@ -1,5 +1,5 @@
 PASS count is 0
-FAIL count < 6 should be true. Was false.
+PASS count < 6 is true
 PASS successfullyParsed is true
 
 TEST COMPLETE

Modified: trunk/Source/WebCore/ChangeLog (266231 => 266232)


--- trunk/Source/WebCore/ChangeLog	2020-08-27 13:42:49 UTC (rev 266231)
+++ trunk/Source/WebCore/ChangeLog	2020-08-27 15:42:07 UTC (rev 266232)
@@ -1,3 +1,19 @@
+2020-08-27  Antti Koivisto  <an...@apple.com>
+
+        Step animations invalidate style on every rendering update whether or not they need to
+        https://bugs.webkit.org/show_bug.cgi?id=215229
+        <rdar://problem/66636153>
+
+        Reviewed by Antoine Quint.
+
+        Step timing functions with transforms try and fail to start accelerated which causes them to repeatedly schedule unnecessary rendering updates.
+
+        * animation/KeyframeEffect.cpp:
+        (WebCore::KeyframeEffect::updateAcceleratedActions):
+
+        Step timing functions are never accelerated so don't bother trying to start them in accelerated state.
+        This is similar to treatmeant of unaccelerated properties.
+
 2020-08-27  Zalan Bujtas  <za...@apple.com>
 
         [LFC][IFC] Move LineBox out of LineBuilder

Modified: trunk/Source/WebCore/animation/KeyframeEffect.cpp (266231 => 266232)


--- trunk/Source/WebCore/animation/KeyframeEffect.cpp	2020-08-27 13:42:49 UTC (rev 266231)
+++ trunk/Source/WebCore/animation/KeyframeEffect.cpp	2020-08-27 15:42:07 UTC (rev 266232)
@@ -1495,7 +1495,7 @@
 
 void KeyframeEffect::updateAcceleratedActions()
 {
-    if (m_acceleratedPropertiesState == AcceleratedProperties::None)
+    if (m_acceleratedPropertiesState == AcceleratedProperties::None || m_someKeyframesUseStepsTimingFunction || is<StepsTimingFunction>(timingFunction()))
         return;
 
     auto computedTiming = getComputedTiming();
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to