[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