[webkit-changes] [WebKit/WebKit] 70014c: [visionOS] Optimize the QuickLook fullscreen trans...

Etienne Segonzac noreply at github.com
Fri Jul 12 01:31:19 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 70014c526e8ece8ced6099c575ac1ec32d75f353
      https://github.com/WebKit/WebKit/commit/70014c526e8ece8ced6099c575ac1ec32d75f353
  Author: Etienne Segonzac <sgz at apple.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

  Changed paths:
    M Source/WebKit/UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.mm
    M Source/WebKit/WebProcess/FullScreen/WebFullScreenManager.cpp
    M Source/WebKit/WebProcess/FullScreen/WebFullScreenManager.h
    M Source/WebKit/WebProcess/WebPage/WebPage.h

  Log Message:
  -----------
  [visionOS] Optimize the QuickLook fullscreen transition
https://bugs.webkit.org/show_bug.cgi?id=275686
<rdar://129195533>

Reviewed by Mike Wyrzykowski.

Scene swapping takes care of the transition when using QuickLook
fullscreen. In order to improve performance and avoid memory spikes due
to DynamicContentScalingDisplayList generation, introduce a new
fullscreen code path where we freeze the layer tree and skip the
expensive WebView snapshoting/reparenting.

* Source/WebKit/UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.mm:
(-[WKFullScreenWindowController enterFullScreen:]):
(-[WKFullScreenWindowController exitFullScreen]):
Introduce new QuickLook fullscreen branches with early returns.
(-[WKFullScreenWindowController _configureSpatialFullScreenTransition]):
(-[WKFullScreenWindowController _performSpatialFullScreenTransition:completionHandler:]):
Remove the old QuickLook fullscreen branches.

* Source/WebKit/WebProcess/WebPage/WebPage.h:
Introduce a new `LayerTreeFreezeReason`.

* Source/WebKit/WebProcess/FullScreen/WebFullScreenManager.h:
* Source/WebKit/WebProcess/FullScreen/WebFullScreenManager.cpp:
(WebKit::WebFullScreenManager::enterFullScreenForElement):
(WebKit::WebFullScreenManager::didExitFullScreen):
Freeze the layer tree while using QuickLook fullscreen.

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



To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications


More information about the webkit-changes mailing list