Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 481f557cdcb267e860b6563809cd6acee3be8126
      
https://github.com/WebKit/WebKit/commit/481f557cdcb267e860b6563809cd6acee3be8126
  Author: Dan Glastonbury <d...@apple.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M Source/WebKit/UIProcess/XR/ios/PlatformXRARKit.h
    M Source/WebKit/UIProcess/XR/ios/PlatformXRARKit.mm
    M Source/WebKit/UIProcess/XR/ios/WKARPresentationSession.h
    M Source/WebKit/UIProcess/XR/ios/WKARPresentationSession.mm

  Log Message:
  -----------
  [WebXR] Fullscreen AR immersive mode
https://bugs.webkit.org/show_bug.cgi?id=265297
rdar://118759729

Reviewed by Dean Jackson.

Implement gesture to exit AR immersive mode and display content fullscreen.

To correctly exit RenderLoop thread with out removing backing state, termination
handling has been re-written to ensure that the thread has shutdown before
switching state. This removes the need for the Terminating state, which has been
removed.

* Source/WebKit/UIProcess/XR/ios/PlatformXRARKit.h:
* Source/WebKit/UIProcess/XR/ios/PlatformXRARKit.mm:
(WebKit::ARKitCoordinator::startSession):
(WebKit::ARKitCoordinator::endSessionIfExists):
(WebKit::ARKitCoordinator::endSession):
(WebKit::ARKitCoordinator::scheduleAnimationFrame):
(WebKit::ARKitCoordinator::submitFrame):
(WebKit::ARKitCoordinator::renderLoop):
(WebKit::ARKitCoordinator::currentSessionHasEnded): Deleted.
* Source/WebKit/UIProcess/XR/ios/WKARPresentationSession.h:
* Source/WebKit/UIProcess/XR/ios/WKARPresentationSession.mm:
(-[_WKARPresentationSession initWithSession:descriptor:]):
(-[_WKARPresentationSession viewDidLoad]):
(-[_WKARPresentationSession _cancelAction:]):
(-[_WKARPresentationSession _enterFullscreen]):
(-[_WKARPresentationSession _exitFullscreen]):

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


_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to