Title: [275942] trunk/Source/WebCore
Revision
275942
Author
akeer...@apple.com
Date
2021-04-14 06:30:42 -0700 (Wed, 14 Apr 2021)

Log Message

[iOS][FCR] Indeterminate progress bars should update at 60fps
https://bugs.webkit.org/show_bug.cgi?id=224372
<rdar://problem/76416848>

Reviewed by Wenson Hsieh.

* rendering/RenderProgress.cpp:
(WebCore::RenderProgress::animationTimerFired):

Added a FIXME to state that progress bar animation should be performed
as part of the rendering update lifecycle. Progress bars have always
maintained their own timers for animation, however, the update interval
may not always match the display's refresh rate.

* rendering/RenderThemeIOS.mm:

Ensure a smoother animation by increasing the frame rate to 60fps.

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (275941 => 275942)


--- trunk/Source/WebCore/ChangeLog	2021-04-14 10:18:00 UTC (rev 275941)
+++ trunk/Source/WebCore/ChangeLog	2021-04-14 13:30:42 UTC (rev 275942)
@@ -1,3 +1,23 @@
+2021-04-14  Aditya Keerthi  <akeer...@apple.com>
+
+        [iOS][FCR] Indeterminate progress bars should update at 60fps
+        https://bugs.webkit.org/show_bug.cgi?id=224372
+        <rdar://problem/76416848>
+
+        Reviewed by Wenson Hsieh.
+
+        * rendering/RenderProgress.cpp:
+        (WebCore::RenderProgress::animationTimerFired):
+
+        Added a FIXME to state that progress bar animation should be performed
+        as part of the rendering update lifecycle. Progress bars have always
+        maintained their own timers for animation, however, the update interval
+        may not always match the display's refresh rate.
+
+        * rendering/RenderThemeIOS.mm:
+
+        Ensure a smoother animation by increasing the frame rate to 60fps.
+
 2021-04-14  Carlos Garcia Campos  <cgar...@igalia.com>
 
         Do not reset computed style for element children with display contents style

Modified: trunk/Source/WebCore/rendering/RenderProgress.cpp (275941 => 275942)


--- trunk/Source/WebCore/rendering/RenderProgress.cpp	2021-04-14 10:18:00 UTC (rev 275941)
+++ trunk/Source/WebCore/rendering/RenderProgress.cpp	2021-04-14 13:30:42 UTC (rev 275942)
@@ -78,6 +78,9 @@
 
 void RenderProgress::animationTimerFired()
 {
+    // FIXME: Progress bar animation should be performed as part of the rendering update
+    // lifecycle, to match the display's refresh rate.
+
     repaint();
     if (!m_animationTimer.isActive() && m_animating)
         m_animationTimer.startOneShot(m_animationRepeatInterval);

Modified: trunk/Source/WebCore/rendering/RenderThemeIOS.mm (275941 => 275942)


--- trunk/Source/WebCore/rendering/RenderThemeIOS.mm	2021-04-14 10:18:00 UTC (rev 275941)
+++ trunk/Source/WebCore/rendering/RenderThemeIOS.mm	2021-04-14 13:30:42 UTC (rev 275942)
@@ -2132,10 +2132,7 @@
     return false;
 }
 
-// Animate the indeterminate progress bar at 30 fps. This value was chosen to
-// ensure a smooth animation, while trying to reduce the number of times the
-// progress bar is repainted.
-constexpr Seconds progressAnimationRepeatInterval = 33_ms;
+constexpr Seconds progressAnimationRepeatInterval = 16_ms;
 
 constexpr auto reducedMotionProgressAnimationMinOpacity = 0.3f;
 constexpr auto reducedMotionProgressAnimationMaxOpacity = 0.6f;
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to