[webkit-changes] [WebKit/WebKit] 1294f7: [visionOS] Video briefly resizes to full-window wh...

aestes noreply at github.com
Fri Mar 15 11:37:57 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 1294f70d6126f5642f5293fe3298e83f1551cd89
      https://github.com/WebKit/WebKit/commit/1294f70d6126f5642f5293fe3298e83f1551cd89
  Author: Andy Estes <aestes at apple.com>
  Date:   2024-03-15 (Fri, 15 Mar 2024)

  Changed paths:
    M Source/WebCore/platform/ios/VideoPresentationInterfaceIOS.h
    M Source/WebCore/platform/ios/VideoPresentationInterfaceIOS.mm

  Log Message:
  -----------
  [visionOS] Video briefly resizes to full-window when entering LinearMediaPlayer fullscreen
https://bugs.webkit.org/show_bug.cgi?id=271032
rdar://123315074

Reviewed by Jer Noble.

Prior to this change, VideoPresentationInterfaceIOS would create a new UIWindow in which the player
view controller would be presented. However, LinearMediaKit would immediately hide this window and
present the fullscreen video in a new UIScene. When entering LinearMediaPlayer fullscreen, this
resulted in the UIWindow briefly appearing then being hidden prior to the LinearMediaKit scene being
presented.

To avoid this, skip creating the UIWindow for LinearMediaPlayer fullscreen. Instead, embed the
LMPlayableViewController in WKWebView's presenting view controller with its root view sized to match
the inline video element. Then, allow LinearMediaKit to hide the WKWebView's UIWindowScene and
present its own scene. This results in a less flashy, more direct transition from inline to
fullscreen.

* Source/WebCore/platform/ios/VideoPresentationInterfaceIOS.h:
(WebCore::VideoPresentationInterfaceIOS::hasMode const):
(WebCore::VideoPresentationInterfaceIOS::fullscreenViewController const):
* Source/WebCore/platform/ios/VideoPresentationInterfaceIOS.mm:
(WebCore::VideoPresentationInterfaceIOS::presentingViewController):
(WebCore::VideoPresentationInterfaceIOS::doSetup):
(WebCore::VideoPresentationInterfaceIOS::cleanupFullscreen):

Canonical link: https://commits.webkit.org/276177@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