[webkit-changes] [WebKit/WebKit] fe0f1a: [WebXR] Add WebXR backend to support immersive-ar ...

Dan Glastonbury noreply at github.com
Wed Oct 11 00:34:01 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: fe0f1a1f74e76cd2071b5d798eb571d3d5b7513a
      https://github.com/WebKit/WebKit/commit/fe0f1a1f74e76cd2071b5d798eb571d3d5b7513a
  Author: Dan Glastonbury <djg at apple.com>
  Date:   2023-10-11 (Wed, 11 Oct 2023)

  Changed paths:
    M Source/WTF/wtf/PlatformHave.h
    M Source/WTF/wtf/PlatformUse.h
    M Source/WebCore/Modules/webxr/WebXRSession.cpp
    M Source/WebCore/Modules/webxr/WebXRSystem.cpp
    M Source/WebCore/platform/xr/PlatformXR.h
    M Source/WebCore/platform/xr/cocoa/PlatformXRCocoa.mm
    M Source/WebKit/Shared/Cocoa/ARKitSoftLink.h
    M Source/WebKit/Shared/Cocoa/ARKitSoftLink.mm
    M Source/WebKit/Shared/XR/XRDeviceInfo.h
    M Source/WebKit/Shared/XR/XRDeviceProxy.cpp
    M Source/WebKit/Shared/XR/XRSystem.serialization.in
    M Source/WebKit/SourcesCocoa.txt
    A Source/WebKit/UIProcess/XR/ios/PlatformXRARKit.h
    A Source/WebKit/UIProcess/XR/ios/PlatformXRARKit.mm
    A Source/WebKit/UIProcess/XR/ios/PlatformXRSystemIOS.mm
    M Source/WebKit/UIProcess/ios/WKActionSheetAssistant.h
    M Source/WebKit/UIProcess/ios/WKModelView.h
    M Source/WebKit/UIProcess/ios/WKSyntheticTapGestureRecognizer.mm
    M Source/WebKit/WebKit.xcodeproj/project.pbxproj

  Log Message:
  -----------
  [WebXR] Add WebXR backend to support immersive-ar backed by ARKit
https://bugs.webkit.org/show_bug.cgi?id=262679
rdar://116502210

Reviewed by Dean Jackson.

ARKitCoordinator adds just enough support for WebXR page to query support for
immersive-ar, allowing the XR immersive-ar-session.html button to show `START
AR` instead of `AR NOT FOUND`

* Source/WTF/wtf/PlatformHave.h:
* Source/WTF/wtf/PlatformUse.h:
* Source/WebCore/Modules/webxr/WebXRSession.cpp:
(WebCore::WebXRSession::supportsViewportScaling const):
(WebCore::WebXRSession::onFrame):
(WebCore::isImmersive): Deleted.
* Source/WebCore/Modules/webxr/WebXRSystem.cpp:
(WebCore::WebXRSystem::obtainCurrentDevice):
(WebCore::WebXRSystem::resolveRequestedFeatures const):
(WebCore::WebXRSystem::requestSession):
* Source/WebCore/platform/xr/PlatformXR.h:
(PlatformXR::isImmersive):
* Source/WebCore/platform/xr/cocoa/PlatformXRCocoa.mm:
* Source/WebKit/Shared/Cocoa/ARKitSoftLink.h:
* Source/WebKit/Shared/Cocoa/ARKitSoftLink.mm:
* Source/WebKit/Shared/XR/XRDeviceInfo.h:
* Source/WebKit/Shared/XR/XRDeviceProxy.cpp:
(WebKit::XRDeviceProxy::XRDeviceProxy):
(WebKit::XRDeviceProxy::initializeTrackingAndRendering):
* Source/WebKit/Shared/XR/XRSystem.serialization.in:
* Source/WebKit/SourcesCocoa.txt:
* Source/WebKit/UIProcess/XR/ios/PlatformXRARKit.h: Copied from Source/WebKit/Shared/XR/XRDeviceInfo.h.
* Source/WebKit/UIProcess/XR/ios/PlatformXRARKit.mm: Added.
(WebKit::ARKitCoordinator::ARKitCoordinator):
(WebKit::ARKitCoordinator::getPrimaryDeviceInfo):
(WebKit::ARKitCoordinator::requestPermissionOnSessionFeatures):
(WebKit::ARKitCoordinator::startSession):
(WebKit::ARKitCoordinator::endSessionIfExists):
(WebKit::ARKitCoordinator::scheduleAnimationFrame):
(WebKit::ARKitCoordinator::submitFrame):
* Source/WebKit/UIProcess/XR/ios/PlatformXRSystemIOS.mm: Copied from Source/WebKit/Shared/XR/XRDeviceInfo.h.
(WebKit::PlatformXRSystem::xrCoordinator):
* Source/WebKit/UIProcess/ios/WKActionSheetAssistant.h:
* Source/WebKit/UIProcess/ios/WKModelView.h:
* Source/WebKit/UIProcess/ios/WKSyntheticTapGestureRecognizer.mm:
* Source/WebKit/WebKit.xcodeproj/project.pbxproj:

Originally-landed-as: 269049 at main (7ad679f07143). rdar://116502210
Canonical link: https://commits.webkit.org/269192@main




More information about the webkit-changes mailing list