Diff
Modified: trunk/Source/WTF/ChangeLog (283510 => 283511)
--- trunk/Source/WTF/ChangeLog 2021-10-04 19:40:43 UTC (rev 283510)
+++ trunk/Source/WTF/ChangeLog 2021-10-04 19:48:22 UTC (rev 283511)
@@ -1,3 +1,14 @@
+2021-10-04 Sam Weinig <wei...@apple.com>
+
+ Split WebXR extension module IDLs into their own files and settings
+ https://bugs.webkit.org/show_bug.cgi?id=231149
+
+ Reviewed by Dean Jackson.
+
+ * Scripts/Preferences/WebPreferencesExperimental.yaml:
+ Adds WebXRAugmentedRealityModuleEnabled and WebXRGamepadsModuleEnabled
+ to gate enabling the WebXR AR Module and the WebXR Gamepads Module on.
+
2021-10-03 David Kilzer <ddkil...@apple.com>
WTF::RetainPtr<> allows assignment of two pointer types that are not assignable
Modified: trunk/Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml (283510 => 283511)
--- trunk/Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml 2021-10-04 19:40:43 UTC (rev 283510)
+++ trunk/Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml 2021-10-04 19:48:22 UTC (rev 283511)
@@ -1575,6 +1575,19 @@
WebCore:
default: false
+WebXRAugmentedRealityModuleEnabled:
+ type: bool
+ humanReadableName: "WebXR Augmented Reality Module"
+ humanReadableDescription: "Adds support for the WebXR Augmented Reality Module"
+ condition: ENABLE(WEBXR)
+ defaultValue:
+ WebKitLegacy:
+ default: WebKit::defaultWebXREnabled()
+ WebKit:
+ default: WebKit::defaultWebXREnabled()
+ WebCore:
+ default: false
+
WebXREnabled:
type: bool
humanReadableName: "WebXR Device API"
@@ -1588,6 +1601,19 @@
WebCore:
default: false
+WebXRGamepadsModuleEnabled:
+ type: bool
+ humanReadableName: "WebXR Gamepads Module"
+ humanReadableDescription: "Adds support for the WebXR Gamepads Module"
+ condition: ENABLE(WEBXR)
+ defaultValue:
+ WebKitLegacy:
+ default: WebKit::defaultWebXREnabled()
+ WebKit:
+ default: WebKit::defaultWebXREnabled()
+ WebCore:
+ default: false
+
WheelEventGesturesBecomeNonBlocking:
type: bool
humanReadableName: "Wheel Event gestures become non-blocking"
Modified: trunk/Source/WebCore/CMakeLists.txt (283510 => 283511)
--- trunk/Source/WebCore/CMakeLists.txt 2021-10-04 19:40:43 UTC (rev 283510)
+++ trunk/Source/WebCore/CMakeLists.txt 2021-10-04 19:48:22 UTC (rev 283511)
@@ -1406,6 +1406,7 @@
Modules/webxr/Navigator+WebXR.idl
Modules/webxr/WebXRBoundedReferenceSpace.idl
Modules/webxr/WebXRFrame.idl
+ Modules/webxr/WebXRInputSource+Gamepad.idl
Modules/webxr/WebXRInputSource.idl
Modules/webxr/WebXRInputSourceArray.idl
Modules/webxr/WebXRLayer.idl
@@ -1413,6 +1414,7 @@
Modules/webxr/WebXRReferenceSpace.idl
Modules/webxr/WebXRRenderState.idl
Modules/webxr/WebXRRigidTransform.idl
+ Modules/webxr/WebXRSession+AR.idl
Modules/webxr/WebXRSession.idl
Modules/webxr/WebXRSpace.idl
Modules/webxr/WebXRSystem.idl
Modified: trunk/Source/WebCore/ChangeLog (283510 => 283511)
--- trunk/Source/WebCore/ChangeLog 2021-10-04 19:40:43 UTC (rev 283510)
+++ trunk/Source/WebCore/ChangeLog 2021-10-04 19:48:22 UTC (rev 283511)
@@ -1,3 +1,57 @@
+2021-10-04 Sam Weinig <wei...@apple.com>
+
+ Split WebXR extension module IDLs into their own files and settings
+ https://bugs.webkit.org/show_bug.cgi?id=231149
+
+ Reviewed by Dean Jackson.
+
+ Split WebXRInputSource+Gamepad.idl out of WebXRInputSource.idl and
+ WebXRSession+AR.idl out of WebXRSession.idl and make them depend on
+ new module specific settings WebXRGamepadsModuleEnabled and
+ WebXRAugmentedRealityModuleEnabled respectively.
+
+ Also adds spec links in the IDLs as I like to do.
+
+ * CMakeLists.txt:
+ * DerivedSources-input.xcfilelist:
+ * DerivedSources-output.xcfilelist:
+ * DerivedSources.make:
+ * Modules/webxr/WebXRBoundedReferenceSpace.idl:
+ * Modules/webxr/WebXRFrame.idl:
+ * Modules/webxr/WebXRInputSource+Gamepad.idl: Added.
+ * Modules/webxr/WebXRInputSource.idl:
+ * Modules/webxr/WebXRInputSourceArray.idl:
+ * Modules/webxr/WebXRLayer.idl:
+ * Modules/webxr/WebXRPose.idl:
+ * Modules/webxr/WebXRReferenceSpace.idl:
+ * Modules/webxr/WebXRRenderState.idl:
+ * Modules/webxr/WebXRRigidTransform.idl:
+ * Modules/webxr/WebXRSession+AR.idl: Added.
+ * Modules/webxr/WebXRSession.idl:
+ * Modules/webxr/WebXRSpace.idl:
+ * Modules/webxr/WebXRSystem.idl:
+ * Modules/webxr/WebXRView.idl:
+ * Modules/webxr/WebXRViewerPose.idl:
+ * Modules/webxr/WebXRViewport.idl:
+ * Modules/webxr/WebXRWebGLLayer.idl:
+ * Modules/webxr/XREnvironmentBlendMode.idl:
+ * Modules/webxr/XREye.idl:
+ * Modules/webxr/XRFrameRequestCallback.idl:
+ * Modules/webxr/XRHandedness.idl:
+ * Modules/webxr/XRInputSourceEvent.idl:
+ * Modules/webxr/XRInputSourcesChangeEvent.idl:
+ * Modules/webxr/XRInteractionMode.idl:
+ * Modules/webxr/XRReferenceSpaceEvent.idl:
+ * Modules/webxr/XRReferenceSpaceType.idl:
+ * Modules/webxr/XRRenderStateInit.idl:
+ * Modules/webxr/XRSessionEvent.idl:
+ * Modules/webxr/XRSessionInit.idl:
+ * Modules/webxr/XRSessionMode.idl:
+ * Modules/webxr/XRTargetRayMode.idl:
+ * Modules/webxr/XRVisibilityState.idl:
+ * Modules/webxr/XRWebGLLayerInit.idl:
+ * WebCore.xcodeproj/project.pbxproj:
+
2021-10-04 Chris Dumez <cdu...@apple.com>
Use isolated NSURLSessions for each first party registrable domain
Modified: trunk/Source/WebCore/DerivedSources-input.xcfilelist (283510 => 283511)
--- trunk/Source/WebCore/DerivedSources-input.xcfilelist 2021-10-04 19:40:43 UTC (rev 283510)
+++ trunk/Source/WebCore/DerivedSources-input.xcfilelist 2021-10-04 19:48:22 UTC (rev 283511)
@@ -588,6 +588,7 @@
$(PROJECT_DIR)/Modules/webxr/Navigator+WebXR.idl
$(PROJECT_DIR)/Modules/webxr/WebXRBoundedReferenceSpace.idl
$(PROJECT_DIR)/Modules/webxr/WebXRFrame.idl
+$(PROJECT_DIR)/Modules/webxr/WebXRInputSource+Gamepad.idl
$(PROJECT_DIR)/Modules/webxr/WebXRInputSource.idl
$(PROJECT_DIR)/Modules/webxr/WebXRInputSourceArray.idl
$(PROJECT_DIR)/Modules/webxr/WebXRLayer.idl
@@ -595,6 +596,7 @@
$(PROJECT_DIR)/Modules/webxr/WebXRReferenceSpace.idl
$(PROJECT_DIR)/Modules/webxr/WebXRRenderState.idl
$(PROJECT_DIR)/Modules/webxr/WebXRRigidTransform.idl
+$(PROJECT_DIR)/Modules/webxr/WebXRSession+AR.idl
$(PROJECT_DIR)/Modules/webxr/WebXRSession.idl
$(PROJECT_DIR)/Modules/webxr/WebXRSpace.idl
$(PROJECT_DIR)/Modules/webxr/WebXRSystem.idl
Modified: trunk/Source/WebCore/DerivedSources-output.xcfilelist (283510 => 283511)
--- trunk/Source/WebCore/DerivedSources-output.xcfilelist 2021-10-04 19:40:43 UTC (rev 283510)
+++ trunk/Source/WebCore/DerivedSources-output.xcfilelist 2021-10-04 19:48:22 UTC (rev 283511)
@@ -2529,6 +2529,8 @@
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSWebXRBoundedReferenceSpace.h
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSWebXRFrame.cpp
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSWebXRFrame.h
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSWebXRInputSource+Gamepad.cpp
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSWebXRInputSource+Gamepad.h
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSWebXRInputSource.cpp
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSWebXRInputSource.h
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSWebXRInputSourceArray.cpp
@@ -2543,6 +2545,8 @@
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSWebXRRenderState.h
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSWebXRRigidTransform.cpp
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSWebXRRigidTransform.h
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSWebXRSession+AR.cpp
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSWebXRSession+AR.h
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSWebXRSession.cpp
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSWebXRSession.h
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSWebXRSpace.cpp
Modified: trunk/Source/WebCore/DerivedSources.make (283510 => 283511)
--- trunk/Source/WebCore/DerivedSources.make 2021-10-04 19:40:43 UTC (rev 283510)
+++ trunk/Source/WebCore/DerivedSources.make 2021-10-04 19:48:22 UTC (rev 283511)
@@ -489,13 +489,15 @@
$(WebCore)/Modules/webxr/Navigator+WebXR.idl \
$(WebCore)/Modules/webxr/WebXRBoundedReferenceSpace.idl \
$(WebCore)/Modules/webxr/WebXRFrame.idl \
+ $(WebCore)/Modules/webxr/WebXRInputSource+Gamepad.idl \
+ $(WebCore)/Modules/webxr/WebXRInputSource.idl \
$(WebCore)/Modules/webxr/WebXRInputSourceArray.idl \
- $(WebCore)/Modules/webxr/WebXRInputSource.idl \
$(WebCore)/Modules/webxr/WebXRLayer.idl \
$(WebCore)/Modules/webxr/WebXRPose.idl \
$(WebCore)/Modules/webxr/WebXRReferenceSpace.idl \
$(WebCore)/Modules/webxr/WebXRRenderState.idl \
$(WebCore)/Modules/webxr/WebXRRigidTransform.idl \
+ $(WebCore)/Modules/webxr/WebXRSession+AR.idl \
$(WebCore)/Modules/webxr/WebXRSession.idl \
$(WebCore)/Modules/webxr/WebXRSpace.idl \
$(WebCore)/Modules/webxr/WebXRSystem.idl \
Modified: trunk/Source/WebCore/Modules/webxr/WebXRBoundedReferenceSpace.idl (283510 => 283511)
--- trunk/Source/WebCore/Modules/webxr/WebXRBoundedReferenceSpace.idl 2021-10-04 19:40:43 UTC (rev 283510)
+++ trunk/Source/WebCore/Modules/webxr/WebXRBoundedReferenceSpace.idl 2021-10-04 19:48:22 UTC (rev 283511)
@@ -23,6 +23,7 @@
* THE POSSIBILITY OF SUCH DAMAGE.
*/
+// https://immersive-web.github.io/webxr/#xrboundedreferencespace
[
EnabledBySetting=WebXREnabled,
Conditional=WEBXR,
Modified: trunk/Source/WebCore/Modules/webxr/WebXRFrame.idl (283510 => 283511)
--- trunk/Source/WebCore/Modules/webxr/WebXRFrame.idl 2021-10-04 19:40:43 UTC (rev 283510)
+++ trunk/Source/WebCore/Modules/webxr/WebXRFrame.idl 2021-10-04 19:48:22 UTC (rev 283511)
@@ -23,6 +23,7 @@
* THE POSSIBILITY OF SUCH DAMAGE.
*/
+// https://immersive-web.github.io/webxr/#xrframe
[
EnabledBySetting=WebXREnabled,
Conditional=WEBXR,
Copied: trunk/Source/WebCore/Modules/webxr/WebXRInputSource+Gamepad.idl (from rev 283510, trunk/Source/WebCore/Modules/webxr/WebXRBoundedReferenceSpace.idl) (0 => 283511)
--- trunk/Source/WebCore/Modules/webxr/WebXRInputSource+Gamepad.idl (rev 0)
+++ trunk/Source/WebCore/Modules/webxr/WebXRInputSource+Gamepad.idl 2021-10-04 19:48:22 UTC (rev 283511)
@@ -0,0 +1,33 @@
+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+// https://immersive-web.github.io/webxr-gamepads-module/#xrinputsource-interface
+[
+ Conditional=WEBXR&GAMEPAD,
+ // FIXME: This should also require GamepadsEnabled, conjunctions with more than 2 terms don't quite work.
+ EnabledBySetting=WebXREnabled&WebXRGamepadsModuleEnabled
+] partial interface WebXRInputSource {
+ [SameObject] readonly attribute Gamepad? gamepad;
+};
Modified: trunk/Source/WebCore/Modules/webxr/WebXRInputSource.idl (283510 => 283511)
--- trunk/Source/WebCore/Modules/webxr/WebXRInputSource.idl 2021-10-04 19:40:43 UTC (rev 283510)
+++ trunk/Source/WebCore/Modules/webxr/WebXRInputSource.idl 2021-10-04 19:48:22 UTC (rev 283511)
@@ -23,6 +23,7 @@
* THE POSSIBILITY OF SUCH DAMAGE.
*/
+// https://immersive-web.github.io/webxr/#xrinputsource
[
GenerateIsReachable=ImplWebXRSessionRoot,
EnabledBySetting=WebXREnabled,
@@ -37,7 +38,4 @@
[SameObject] readonly attribute WebXRSpace targetRaySpace;
[SameObject] readonly attribute WebXRSpace? gripSpace ;
[CachedAttribute, SameObject] readonly attribute FrozenArray<DOMString> profiles;
-
- // https://immersive-web.github.io/webxr-gamepads-module/#xrinputsource-interface
- [Conditional=GAMEPAD, SameObject] readonly attribute Gamepad? gamepad;
};
Modified: trunk/Source/WebCore/Modules/webxr/WebXRInputSourceArray.idl (283510 => 283511)
--- trunk/Source/WebCore/Modules/webxr/WebXRInputSourceArray.idl 2021-10-04 19:40:43 UTC (rev 283510)
+++ trunk/Source/WebCore/Modules/webxr/WebXRInputSourceArray.idl 2021-10-04 19:48:22 UTC (rev 283511)
@@ -23,6 +23,7 @@
* THE POSSIBILITY OF SUCH DAMAGE.
*/
+// https://immersive-web.github.io/webxr/#xrinputsourcearray
[
GenerateIsReachable=ImplWebXRSessionRoot,
EnabledBySetting=WebXREnabled,
Modified: trunk/Source/WebCore/Modules/webxr/WebXRLayer.idl (283510 => 283511)
--- trunk/Source/WebCore/Modules/webxr/WebXRLayer.idl 2021-10-04 19:40:43 UTC (rev 283510)
+++ trunk/Source/WebCore/Modules/webxr/WebXRLayer.idl 2021-10-04 19:48:22 UTC (rev 283511)
@@ -23,6 +23,7 @@
* THE POSSIBILITY OF SUCH DAMAGE.
*/
+// https://immersive-web.github.io/webxr/#xrlayer
[
EnabledBySetting=WebXREnabled,
Conditional=WEBXR,
Modified: trunk/Source/WebCore/Modules/webxr/WebXRPose.idl (283510 => 283511)
--- trunk/Source/WebCore/Modules/webxr/WebXRPose.idl 2021-10-04 19:40:43 UTC (rev 283510)
+++ trunk/Source/WebCore/Modules/webxr/WebXRPose.idl 2021-10-04 19:48:22 UTC (rev 283511)
@@ -23,6 +23,7 @@
* THE POSSIBILITY OF SUCH DAMAGE.
*/
+// https://immersive-web.github.io/webxr/#xrpose
[
EnabledBySetting=WebXREnabled,
Conditional=WEBXR,
@@ -31,5 +32,9 @@
InterfaceName=XRPose
] interface WebXRPose {
[SameObject] readonly attribute WebXRRigidTransform transform;
+ // FIXME: Add support for linearVelocity and angularVelocity.
+ // [SameObject] readonly attribute DOMPointReadOnly? linearVelocity;
+ // [SameObject] readonly attribute DOMPointReadOnly? angularVelocity;
+
readonly attribute boolean emulatedPosition;
};
Modified: trunk/Source/WebCore/Modules/webxr/WebXRReferenceSpace.idl (283510 => 283511)
--- trunk/Source/WebCore/Modules/webxr/WebXRReferenceSpace.idl 2021-10-04 19:40:43 UTC (rev 283510)
+++ trunk/Source/WebCore/Modules/webxr/WebXRReferenceSpace.idl 2021-10-04 19:48:22 UTC (rev 283511)
@@ -23,6 +23,7 @@
* THE POSSIBILITY OF SUCH DAMAGE.
*/
+// https://immersive-web.github.io/webxr/#xrreferencespace
[
EnabledBySetting=WebXREnabled,
Conditional=WEBXR,
Modified: trunk/Source/WebCore/Modules/webxr/WebXRRenderState.idl (283510 => 283511)
--- trunk/Source/WebCore/Modules/webxr/WebXRRenderState.idl 2021-10-04 19:40:43 UTC (rev 283510)
+++ trunk/Source/WebCore/Modules/webxr/WebXRRenderState.idl 2021-10-04 19:48:22 UTC (rev 283511)
@@ -23,6 +23,7 @@
* THE POSSIBILITY OF SUCH DAMAGE.
*/
+// https://immersive-web.github.io/webxr/#xrrenderstate
[
EnabledBySetting=WebXREnabled,
Conditional=WEBXR,
Modified: trunk/Source/WebCore/Modules/webxr/WebXRRigidTransform.idl (283510 => 283511)
--- trunk/Source/WebCore/Modules/webxr/WebXRRigidTransform.idl 2021-10-04 19:40:43 UTC (rev 283510)
+++ trunk/Source/WebCore/Modules/webxr/WebXRRigidTransform.idl 2021-10-04 19:48:22 UTC (rev 283511)
@@ -23,6 +23,7 @@
* THE POSSIBILITY OF SUCH DAMAGE.
*/
+// https://immersive-web.github.io/webxr/#xrrigidtransform
[
EnabledBySetting=WebXREnabled,
Conditional=WEBXR,
Copied: trunk/Source/WebCore/Modules/webxr/WebXRSession+AR.idl (from rev 283510, trunk/Source/WebCore/Modules/webxr/WebXRReferenceSpace.idl) (0 => 283511)
--- trunk/Source/WebCore/Modules/webxr/WebXRSession+AR.idl (rev 0)
+++ trunk/Source/WebCore/Modules/webxr/WebXRSession+AR.idl 2021-10-04 19:48:22 UTC (rev 283511)
@@ -0,0 +1,35 @@
+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+[
+ Conditional=WEBXR,
+ EnabledBySetting=WebXREnabled&WebXRAugmentedRealityModuleEnabled
+] partial interface WebXRSession {
+ // https://immersive-web.github.io/webxr-ar-module/#xrinteractionmode-enum
+ readonly attribute XRInteractionMode interactionMode;
+
+ // https://immersive-web.github.io/webxr-ar-module/#xrenvironmentblendmode-enum
+ readonly attribute XREnvironmentBlendMode environmentBlendMode;
+};
Modified: trunk/Source/WebCore/Modules/webxr/WebXRSession.idl (283510 => 283511)
--- trunk/Source/WebCore/Modules/webxr/WebXRSession.idl 2021-10-04 19:40:43 UTC (rev 283510)
+++ trunk/Source/WebCore/Modules/webxr/WebXRSession.idl 2021-10-04 19:48:22 UTC (rev 283511)
@@ -23,6 +23,7 @@
* THE POSSIBILITY OF SUCH DAMAGE.
*/
+// https://immersive-web.github.io/webxr/#xrsession
[
EnabledBySetting=WebXREnabled,
Conditional=WEBXR,
@@ -32,8 +33,6 @@
InterfaceName=XRSession
] interface WebXRSession : EventTarget {
// Attributes
- readonly attribute XRInteractionMode interactionMode;
- readonly attribute XREnvironmentBlendMode environmentBlendMode;
readonly attribute XRVisibilityState visibilityState;
[SameObject] readonly attribute WebXRRenderState renderState;
[SameObject] readonly attribute WebXRInputSourceArray inputSources;
Modified: trunk/Source/WebCore/Modules/webxr/WebXRSpace.idl (283510 => 283511)
--- trunk/Source/WebCore/Modules/webxr/WebXRSpace.idl 2021-10-04 19:40:43 UTC (rev 283510)
+++ trunk/Source/WebCore/Modules/webxr/WebXRSpace.idl 2021-10-04 19:48:22 UTC (rev 283511)
@@ -23,6 +23,7 @@
* THE POSSIBILITY OF SUCH DAMAGE.
*/
+// https://immersive-web.github.io/webxr/#xrspace
[
EnabledBySetting=WebXREnabled,
Conditional=WEBXR,
Modified: trunk/Source/WebCore/Modules/webxr/WebXRSystem.idl (283510 => 283511)
--- trunk/Source/WebCore/Modules/webxr/WebXRSystem.idl 2021-10-04 19:40:43 UTC (rev 283510)
+++ trunk/Source/WebCore/Modules/webxr/WebXRSystem.idl 2021-10-04 19:48:22 UTC (rev 283511)
@@ -23,6 +23,7 @@
* THE POSSIBILITY OF SUCH DAMAGE.
*/
+// https://immersive-web.github.io/webxr/#xrsystem
[
ActiveDOMObject,
Conditional=WEBXR,
@@ -33,6 +34,7 @@
SecureContext
] interface WebXRSystem : EventTarget {
// Methods
+ // FIXME: Spec says this should return Promise<boolean>.
Promise<undefined> isSessionSupported(XRSessionMode mode);
[NewObject, CallWith=Document] Promise<WebXRSession> requestSession(XRSessionMode mode, optional XRSessionInit options);
Modified: trunk/Source/WebCore/Modules/webxr/WebXRView.idl (283510 => 283511)
--- trunk/Source/WebCore/Modules/webxr/WebXRView.idl 2021-10-04 19:40:43 UTC (rev 283510)
+++ trunk/Source/WebCore/Modules/webxr/WebXRView.idl 2021-10-04 19:48:22 UTC (rev 283511)
@@ -23,6 +23,7 @@
* THE POSSIBILITY OF SUCH DAMAGE.
*/
+// https://immersive-web.github.io/webxr/#xrview
[
EnabledBySetting=WebXREnabled,
Conditional=WEBXR,
@@ -36,5 +37,6 @@
[CustomGetter] readonly attribute Float32Array projectionMatrix;
[SameObject] readonly attribute WebXRRigidTransform transform;
readonly attribute double? recommendedViewportScale;
+
undefined requestViewportScale(double? scale);
};
Modified: trunk/Source/WebCore/Modules/webxr/WebXRViewerPose.idl (283510 => 283511)
--- trunk/Source/WebCore/Modules/webxr/WebXRViewerPose.idl 2021-10-04 19:40:43 UTC (rev 283510)
+++ trunk/Source/WebCore/Modules/webxr/WebXRViewerPose.idl 2021-10-04 19:48:22 UTC (rev 283511)
@@ -23,6 +23,7 @@
* THE POSSIBILITY OF SUCH DAMAGE.
*/
+// https://immersive-web.github.io/webxr/#xrviewerpose
[
EnabledBySetting=WebXREnabled,
Conditional=WEBXR,
Modified: trunk/Source/WebCore/Modules/webxr/WebXRViewport.idl (283510 => 283511)
--- trunk/Source/WebCore/Modules/webxr/WebXRViewport.idl 2021-10-04 19:40:43 UTC (rev 283510)
+++ trunk/Source/WebCore/Modules/webxr/WebXRViewport.idl 2021-10-04 19:48:22 UTC (rev 283511)
@@ -23,6 +23,7 @@
* THE POSSIBILITY OF SUCH DAMAGE.
*/
+// https://immersive-web.github.io/webxr/#xrviewport
[
EnabledBySetting=WebXREnabled,
Conditional=WEBXR,
Modified: trunk/Source/WebCore/Modules/webxr/WebXRWebGLLayer.idl (283510 => 283511)
--- trunk/Source/WebCore/Modules/webxr/WebXRWebGLLayer.idl 2021-10-04 19:40:43 UTC (rev 283510)
+++ trunk/Source/WebCore/Modules/webxr/WebXRWebGLLayer.idl 2021-10-04 19:48:22 UTC (rev 283511)
@@ -29,6 +29,7 @@
typedef (WebGLRenderingContext) WebXRWebGLRenderingContext;
#endif
+// https://immersive-web.github.io/webxr/#xrwebgllayer
[
EnabledBySetting=WebXREnabled,
Conditional=WEBXR,
@@ -43,6 +44,8 @@
// Attributes
readonly attribute boolean antialias;
readonly attribute boolean ignoreDepthValues;
+ // FIXME: Support 'fixedFoveation'.
+ // attribute float? fixedFoveation;
[SameObject] readonly attribute WebGLFramebuffer framebuffer;
readonly attribute unsigned long framebufferWidth;
Modified: trunk/Source/WebCore/Modules/webxr/XREnvironmentBlendMode.idl (283510 => 283511)
--- trunk/Source/WebCore/Modules/webxr/XREnvironmentBlendMode.idl 2021-10-04 19:40:43 UTC (rev 283510)
+++ trunk/Source/WebCore/Modules/webxr/XREnvironmentBlendMode.idl 2021-10-04 19:48:22 UTC (rev 283511)
@@ -23,8 +23,9 @@
* THE POSSIBILITY OF SUCH DAMAGE.
*/
+// https://immersive-web.github.io/webxr-ar-module/#enumdef-xrenvironmentblendmode
[
- EnabledBySetting=WebXREnabled,
+ EnabledBySetting=WebXREnabled&WebXRAugmentedRealityModuleEnabled,
Conditional=WEBXR
] enum XREnvironmentBlendMode {
"opaque",
Modified: trunk/Source/WebCore/Modules/webxr/XREye.idl (283510 => 283511)
--- trunk/Source/WebCore/Modules/webxr/XREye.idl 2021-10-04 19:40:43 UTC (rev 283510)
+++ trunk/Source/WebCore/Modules/webxr/XREye.idl 2021-10-04 19:48:22 UTC (rev 283511)
@@ -23,6 +23,7 @@
* THE POSSIBILITY OF SUCH DAMAGE.
*/
+// https://immersive-web.github.io/webxr/#enumdef-xreye
[
EnabledBySetting=WebXREnabled,
Conditional=WEBXR,
Modified: trunk/Source/WebCore/Modules/webxr/XRFrameRequestCallback.idl (283510 => 283511)
--- trunk/Source/WebCore/Modules/webxr/XRFrameRequestCallback.idl 2021-10-04 19:40:43 UTC (rev 283510)
+++ trunk/Source/WebCore/Modules/webxr/XRFrameRequestCallback.idl 2021-10-04 19:48:22 UTC (rev 283511)
@@ -25,6 +25,7 @@
typedef double DOMHighResTimeStamp;
+// https://immersive-web.github.io/webxr/#callbackdef-xrframerequestcallback
[
Conditional=WEBXR
] callback XRFrameRequestCallback = undefined (DOMHighResTimeStamp time, WebXRFrame frame);
Modified: trunk/Source/WebCore/Modules/webxr/XRHandedness.idl (283510 => 283511)
--- trunk/Source/WebCore/Modules/webxr/XRHandedness.idl 2021-10-04 19:40:43 UTC (rev 283510)
+++ trunk/Source/WebCore/Modules/webxr/XRHandedness.idl 2021-10-04 19:48:22 UTC (rev 283511)
@@ -23,6 +23,7 @@
* THE POSSIBILITY OF SUCH DAMAGE.
*/
+// https://immersive-web.github.io/webxr/#enumdef-xrhandedness
[
EnabledBySetting=WebXREnabled,
Conditional=WEBXR,
Modified: trunk/Source/WebCore/Modules/webxr/XRInputSourceEvent.idl (283510 => 283511)
--- trunk/Source/WebCore/Modules/webxr/XRInputSourceEvent.idl 2021-10-04 19:40:43 UTC (rev 283510)
+++ trunk/Source/WebCore/Modules/webxr/XRInputSourceEvent.idl 2021-10-04 19:48:22 UTC (rev 283511)
@@ -23,6 +23,7 @@
* THE POSSIBILITY OF SUCH DAMAGE.
*/
+// https://immersive-web.github.io/webxr/#dictdef-xrinputsourceeventinit
[
EnabledBySetting=WebXREnabled,
Conditional=WEBXR,
@@ -31,6 +32,7 @@
required WebXRInputSource inputSource;
};
+// https://immersive-web.github.io/webxr/#xrinputsourceevent
[
EnabledBySetting=WebXREnabled,
Conditional=WEBXR,
@@ -38,7 +40,6 @@
Exposed=Window
] interface XRInputSourceEvent : Event {
constructor(DOMString type, XRInputSourceEventInit eventInitDict);
-
[SameObject] readonly attribute WebXRFrame frame;
[SameObject] readonly attribute WebXRInputSource inputSource;
};
Modified: trunk/Source/WebCore/Modules/webxr/XRInputSourcesChangeEvent.idl (283510 => 283511)
--- trunk/Source/WebCore/Modules/webxr/XRInputSourcesChangeEvent.idl 2021-10-04 19:40:43 UTC (rev 283510)
+++ trunk/Source/WebCore/Modules/webxr/XRInputSourcesChangeEvent.idl 2021-10-04 19:48:22 UTC (rev 283511)
@@ -23,6 +23,7 @@
* THE POSSIBILITY OF SUCH DAMAGE.
*/
+// https://immersive-web.github.io/webxr/#dictdef-xrinputsourceschangeeventinit
[
EnabledBySetting=WebXREnabled,
Conditional=WEBXR,
@@ -32,6 +33,7 @@
required FrozenArray<WebXRInputSource> removed;
};
+// https://immersive-web.github.io/webxr/#xrinputsourceschangeevent
[
EnabledBySetting=WebXREnabled,
Conditional=WEBXR,
@@ -39,7 +41,6 @@
Exposed=Window
] interface XRInputSourcesChangeEvent : Event {
constructor(DOMString type, XRInputSourcesChangeEventInit eventInitDict);
-
[SameObject] readonly attribute WebXRSession session;
[CachedAttribute, SameObject] readonly attribute FrozenArray<WebXRInputSource> added;
[CachedAttribute, SameObject] readonly attribute FrozenArray<WebXRInputSource> removed;
Modified: trunk/Source/WebCore/Modules/webxr/XRInteractionMode.idl (283510 => 283511)
--- trunk/Source/WebCore/Modules/webxr/XRInteractionMode.idl 2021-10-04 19:40:43 UTC (rev 283510)
+++ trunk/Source/WebCore/Modules/webxr/XRInteractionMode.idl 2021-10-04 19:48:22 UTC (rev 283511)
@@ -23,8 +23,9 @@
* THE POSSIBILITY OF SUCH DAMAGE.
*/
+// https://immersive-web.github.io/webxr-ar-module/#enumdef-xrinteractionmode
[
- EnabledBySetting=WebXREnabled,
+ EnabledBySetting=WebXREnabled&WebXRAugmentedRealityModuleEnabled,
Conditional=WEBXR
] enum XRInteractionMode {
"screen-space",
Modified: trunk/Source/WebCore/Modules/webxr/XRReferenceSpaceEvent.idl (283510 => 283511)
--- trunk/Source/WebCore/Modules/webxr/XRReferenceSpaceEvent.idl 2021-10-04 19:40:43 UTC (rev 283510)
+++ trunk/Source/WebCore/Modules/webxr/XRReferenceSpaceEvent.idl 2021-10-04 19:48:22 UTC (rev 283511)
@@ -23,6 +23,7 @@
* THE POSSIBILITY OF SUCH DAMAGE.
*/
+// https://immersive-web.github.io/webxr/#dictdef-xrreferencespaceeventinit
[
EnabledBySetting=WebXREnabled,
Conditional=WEBXR,
@@ -31,6 +32,7 @@
WebXRRigidTransform transform;
};
+// https://immersive-web.github.io/webxr/#xrreferencespaceevent
[
EnabledBySetting=WebXREnabled,
Conditional=WEBXR,
@@ -38,7 +40,6 @@
Exposed=Window
] interface XRReferenceSpaceEvent : Event {
constructor(DOMString type, XRReferenceSpaceEventInit eventInitDict);
-
[SameObject] readonly attribute WebXRReferenceSpace referenceSpace;
[SameObject] readonly attribute WebXRRigidTransform transform;
};
Modified: trunk/Source/WebCore/Modules/webxr/XRReferenceSpaceType.idl (283510 => 283511)
--- trunk/Source/WebCore/Modules/webxr/XRReferenceSpaceType.idl 2021-10-04 19:40:43 UTC (rev 283510)
+++ trunk/Source/WebCore/Modules/webxr/XRReferenceSpaceType.idl 2021-10-04 19:48:22 UTC (rev 283511)
@@ -23,6 +23,7 @@
* THE POSSIBILITY OF SUCH DAMAGE.
*/
+// https://immersive-web.github.io/webxr/#enumdef-xrreferencespacetype
[
EnabledBySetting=WebXREnabled,
Conditional=WEBXR,
Modified: trunk/Source/WebCore/Modules/webxr/XRRenderStateInit.idl (283510 => 283511)
--- trunk/Source/WebCore/Modules/webxr/XRRenderStateInit.idl 2021-10-04 19:40:43 UTC (rev 283510)
+++ trunk/Source/WebCore/Modules/webxr/XRRenderStateInit.idl 2021-10-04 19:48:22 UTC (rev 283511)
@@ -23,6 +23,7 @@
* THE POSSIBILITY OF SUCH DAMAGE.
*/
+// https://immersive-web.github.io/webxr/#dictdef-xrrenderstateinit
[
EnabledBySetting=WebXREnabled,
Conditional=WEBXR,
Modified: trunk/Source/WebCore/Modules/webxr/XRSessionEvent.idl (283510 => 283511)
--- trunk/Source/WebCore/Modules/webxr/XRSessionEvent.idl 2021-10-04 19:40:43 UTC (rev 283510)
+++ trunk/Source/WebCore/Modules/webxr/XRSessionEvent.idl 2021-10-04 19:48:22 UTC (rev 283511)
@@ -23,6 +23,7 @@
* THE POSSIBILITY OF SUCH DAMAGE.
*/
+// https://immersive-web.github.io/webxr/#dictdef-xrsessioneventinit
[
EnabledBySetting=WebXREnabled,
Conditional=WEBXR,
@@ -30,6 +31,7 @@
required WebXRSession session;
};
+// https://immersive-web.github.io/webxr/#xrsessionevent
[
EnabledBySetting=WebXREnabled,
Conditional=WEBXR,
@@ -37,6 +39,5 @@
Exposed=Window
] interface XRSessionEvent : Event {
constructor(DOMString type, XRSessionEventInit eventInitDict);
-
[SameObject] readonly attribute WebXRSession session;
};
Modified: trunk/Source/WebCore/Modules/webxr/XRSessionInit.idl (283510 => 283511)
--- trunk/Source/WebCore/Modules/webxr/XRSessionInit.idl 2021-10-04 19:40:43 UTC (rev 283510)
+++ trunk/Source/WebCore/Modules/webxr/XRSessionInit.idl 2021-10-04 19:48:22 UTC (rev 283511)
@@ -23,6 +23,7 @@
* THE POSSIBILITY OF SUCH DAMAGE.
*/
+// https://immersive-web.github.io/webxr/#dictdef-xrsessioninit
[
EnabledBySetting=WebXREnabled,
Conditional=WEBXR,
Modified: trunk/Source/WebCore/Modules/webxr/XRSessionMode.idl (283510 => 283511)
--- trunk/Source/WebCore/Modules/webxr/XRSessionMode.idl 2021-10-04 19:40:43 UTC (rev 283510)
+++ trunk/Source/WebCore/Modules/webxr/XRSessionMode.idl 2021-10-04 19:48:22 UTC (rev 283511)
@@ -23,6 +23,7 @@
* THE POSSIBILITY OF SUCH DAMAGE.
*/
+// https://immersive-web.github.io/webxr/#enumdef-xrsessionmode
[
EnabledBySetting=WebXREnabled,
Conditional=WEBXR,
Modified: trunk/Source/WebCore/Modules/webxr/XRTargetRayMode.idl (283510 => 283511)
--- trunk/Source/WebCore/Modules/webxr/XRTargetRayMode.idl 2021-10-04 19:40:43 UTC (rev 283510)
+++ trunk/Source/WebCore/Modules/webxr/XRTargetRayMode.idl 2021-10-04 19:48:22 UTC (rev 283511)
@@ -23,6 +23,7 @@
* THE POSSIBILITY OF SUCH DAMAGE.
*/
+// https://immersive-web.github.io/webxr/#enumdef-xrtargetraymode
[
EnabledBySetting=WebXREnabled,
Conditional=WEBXR,
Modified: trunk/Source/WebCore/Modules/webxr/XRVisibilityState.idl (283510 => 283511)
--- trunk/Source/WebCore/Modules/webxr/XRVisibilityState.idl 2021-10-04 19:40:43 UTC (rev 283510)
+++ trunk/Source/WebCore/Modules/webxr/XRVisibilityState.idl 2021-10-04 19:48:22 UTC (rev 283511)
@@ -23,6 +23,7 @@
* THE POSSIBILITY OF SUCH DAMAGE.
*/
+// https://immersive-web.github.io/webxr/#enumdef-xrvisibilitystate
[
EnabledBySetting=WebXREnabled,
Conditional=WEBXR,
Modified: trunk/Source/WebCore/Modules/webxr/XRWebGLLayerInit.idl (283510 => 283511)
--- trunk/Source/WebCore/Modules/webxr/XRWebGLLayerInit.idl 2021-10-04 19:40:43 UTC (rev 283510)
+++ trunk/Source/WebCore/Modules/webxr/XRWebGLLayerInit.idl 2021-10-04 19:48:22 UTC (rev 283511)
@@ -23,6 +23,7 @@
* THE POSSIBILITY OF SUCH DAMAGE.
*/
+// https://immersive-web.github.io/webxr/#dictdef-xrwebgllayerinit
[
EnabledBySetting=WebXREnabled,
Conditional=WEBXR,
Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (283510 => 283511)
--- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj 2021-10-04 19:40:43 UTC (rev 283510)
+++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj 2021-10-04 19:48:22 UTC (rev 283511)
@@ -14314,6 +14314,8 @@
BC00F0110E0A189500FD04E3 /* JSFile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSFile.h; sourceTree = "<group>"; };
BC00F0120E0A189500FD04E3 /* JSFileList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSFileList.cpp; sourceTree = "<group>"; };
BC00F0130E0A189500FD04E3 /* JSFileList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSFileList.h; sourceTree = "<group>"; };
+ BC024A9A270A765100FD4C3F /* WebXRInputSource+Gamepad.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = "WebXRInputSource+Gamepad.idl"; sourceTree = "<group>"; };
+ BC024A9C270A789D00FD4C3F /* WebXRSession+AR.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = "WebXRSession+AR.idl"; sourceTree = "<group>"; };
BC02A63B0E09A9CF004B6D2B /* CSSFunctionValue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CSSFunctionValue.h; sourceTree = "<group>"; };
BC02A6450E09AAE9004B6D2B /* CSSFunctionValue.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CSSFunctionValue.cpp; sourceTree = "<group>"; };
BC06ED040BFD5BAE00856E9D /* JSHTMLTableSectionElement.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = JSHTMLTableSectionElement.cpp; sourceTree = "<group>"; };
@@ -29040,6 +29042,7 @@
E19490882434F15900416A99 /* WebXRFrame.idl */,
11E5163B261E1A1400E69F25 /* WebXRGamepad.cpp */,
11E5163A261E1A1400E69F25 /* WebXRGamepad.h */,
+ BC024A9A270A765100FD4C3F /* WebXRInputSource+Gamepad.idl */,
E1EE8B0D2412B17000E794D6 /* WebXRInputSource.cpp */,
E1EE8B172412B17000E794D6 /* WebXRInputSource.h */,
E19490892434F15A00416A99 /* WebXRInputSource.idl */,
@@ -29065,6 +29068,7 @@
E1EE8ACD2412B17000E794D6 /* WebXRRigidTransform.cpp */,
E1EE8B062412B17000E794D6 /* WebXRRigidTransform.h */,
E19490982434F16200416A99 /* WebXRRigidTransform.idl */,
+ BC024A9C270A789D00FD4C3F /* WebXRSession+AR.idl */,
E1EE8B0F2412B17000E794D6 /* WebXRSession.cpp */,
E1EE8B112412B17000E794D6 /* WebXRSession.h */,
E194909E2434F16600416A99 /* WebXRSession.idl */,