[webkit-changes] [WebKit/WebKit] 0eec24: [iOS] run keyboard scrolling animations at a highe...

Antoine Quint noreply at github.com
Wed Feb 7 12:07:16 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 0eec24ac3eff44a5d415e3617d1cf5abe5c5d496
      https://github.com/WebKit/WebKit/commit/0eec24ac3eff44a5d415e3617d1cf5abe5c5d496
  Author: Antoine Quint <graouts at webkit.org>
  Date:   2024-02-07 (Wed, 07 Feb 2024)

  Changed paths:
    M Source/WebCore/PAL/pal/spi/cocoa/QuartzCoreSPI.h
    A Source/WebKit/Platform/cocoa/CAFrameRateRangeUtilities.h
    M Source/WebKit/UIProcess/ios/WKKeyboardScrollingAnimator.mm
    M Source/WebKit/WebKit.xcodeproj/project.pbxproj
    M Source/WebKit/WebProcess/WebPage/RemoteLayerTree/PlatformCAAnimationRemote.mm

  Log Message:
  -----------
  [iOS] run keyboard scrolling animations at a higher frame rate when possible
https://bugs.webkit.org/show_bug.cgi?id=268850
rdar://122323815

Reviewed by Simon Fraser.

In 273122 at main we opted into higher frame rate animations when performed by Core Animation on
qualifying hardware. We now do the same with scrolling animations resulting from interacting
with the keyboard (such as pressing the space bar) by setting similar properties on the
`CADisplayLink` created by `WKKeyboardScrollingAnimator`. Because we now have two different
places where we opt into a higher frame rate, we distinguish between the two cases by using
a different `CAHighFrameRateReason` value.

* Source/WebCore/PAL/pal/spi/cocoa/QuartzCoreSPI.h:
* Source/WebKit/Platform/cocoa/CAFrameRateRangeUtilities.h: Added.
(WebKit::highFrameRateRange):
* Source/WebKit/UIProcess/ios/WKKeyboardScrollingAnimator.mm:
(-[WKKeyboardScrollingAnimator startDisplayLinkIfNeeded]):
* Source/WebKit/WebKit.xcodeproj/project.pbxproj:
* Source/WebKit/WebProcess/WebPage/RemoteLayerTree/PlatformCAAnimationRemote.mm:
(WebKit::createAnimation):
(highFrameRateRange): Deleted.

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




More information about the webkit-changes mailing list