[webkit-changes] [WebKit/WebKit] ae0443: Make <progress> use Page's preferredRenderingUpdat...

Anne van Kesteren noreply at github.com
Sat Dec 2 10:50:28 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: ae044324e12b0f44593288217af847856a8405b1
      https://github.com/WebKit/WebKit/commit/ae044324e12b0f44593288217af847856a8405b1
  Author: Anne van Kesteren <annevk at annevk.nl>
  Date:   2023-12-02 (Sat, 02 Dec 2023)

  Changed paths:
    M Source/WebCore/rendering/RenderProgress.cpp
    M Source/WebCore/rendering/RenderProgress.h
    M Source/WebCore/rendering/RenderTheme.cpp
    M Source/WebCore/rendering/RenderTheme.h
    M Source/WebCore/rendering/RenderThemeAdwaita.cpp
    M Source/WebCore/rendering/RenderThemeAdwaita.h
    M Source/WebCore/rendering/RenderThemeCocoa.h
    M Source/WebCore/rendering/RenderThemeCocoa.mm
    M Source/WebCore/rendering/RenderThemeIOS.h
    M Source/WebCore/rendering/RenderThemeIOS.mm
    M Source/WebCore/rendering/RenderThemeMac.h
    M Source/WebCore/rendering/RenderThemeMac.mm

  Log Message:
  -----------
  Make <progress> use Page's preferredRenderingUpdateInterval()
https://bugs.webkit.org/show_bug.cgi?id=265277

Reviewed by Darin Adler.

This ensures that we take various other considerations into account
when animating and not just call repaint() at a fixed repeat interval.

This has the side effect of making the animation on macOS run at 60FPS
and on visionOS at 90FPS, under normal circumstances.

For now we don't change where the repeat interval is obtained from, as
it's not immediately clear to me that a separate RenderTheme bool
method as to whether <progress> animates is preferable to the existing
setup.

* Source/WebCore/rendering/RenderProgress.cpp:
(WebCore::RenderProgress::animationTimerFired):
(WebCore::RenderProgress::updateAnimationState):
* Source/WebCore/rendering/RenderProgress.h:
* Source/WebCore/rendering/RenderTheme.cpp:
(WebCore::RenderTheme::animationRepeatIntervalForProgressBar const): Deleted.
(WebCore::RenderTheme::animationDurationForProgressBar const): Deleted.
(WebCore::RenderTheme::progressBarRectForBounds const): Deleted.
* Source/WebCore/rendering/RenderTheme.h:
(WebCore::RenderTheme::animationRepeatIntervalForProgressBar const):
(WebCore::RenderTheme::animationDurationForProgressBar const):
(WebCore::RenderTheme::progressBarRectForBounds const):
* Source/WebCore/rendering/RenderThemeAdwaita.cpp:
(WebCore::RenderThemeAdwaita::animationRepeatIntervalForProgressBar const):
(WebCore::RenderThemeAdwaita::animationDurationForProgressBar const):
* Source/WebCore/rendering/RenderThemeAdwaita.h:
* Source/WebCore/rendering/RenderThemeCocoa.h:
* Source/WebCore/rendering/RenderThemeCocoa.mm:
(WebCore::RenderThemeCocoa::animationRepeatIntervalForProgressBar const):
* Source/WebCore/rendering/RenderThemeIOS.h:
* Source/WebCore/rendering/RenderThemeIOS.mm:
(WebCore::RenderThemeIOS::animationRepeatIntervalForProgressBar const): Deleted.
* Source/WebCore/rendering/RenderThemeMac.h:
* Source/WebCore/rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::animationRepeatIntervalForProgressBar const): Deleted.

Canonical link: https://commits.webkit.org/271431@main




More information about the webkit-changes mailing list