WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
[patch]
Patch
bug-213462-20200622183912.patch (text/plain), 23.82 KB, created by
Sergio Villar Senin
on 2020-06-22 09:39:13 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Sergio Villar Senin
Created:
2020-06-22 09:39:13 PDT
Size:
23.82 KB
patch
obsolete
>Subversion Revision: 263346 >diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog >index 1a72a5a9d3669921e5e45b11ee702de4f428b176..ab7a16e8e86139e21e60fe2cd2a3b9b4c9bab357 100644 >--- a/Source/WebCore/ChangeLog >+++ b/Source/WebCore/ChangeLog >@@ -1,3 +1,32 @@ >+2020-06-22 Sergio Villar Senin <svillar@igalia.com> >+ >+ [WebXR] Introducing XRLayer >+ https://bugs.webkit.org/show_bug.cgi?id=213462 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ The most recent drafts of the WebXR spec have added a new object called XRLayer which is the base class >+ of the already known XRWebGLLayer. The spec only defines the latter but future extensions might define >+ some other layer subclasses. >+ >+ This patch fixes several checks in the IDL tests. >+ >+ * CMakeLists.txt: Added new files. >+ * DerivedSources.make: Ditto. >+ * WebCore.xcodeproj/project.pbxproj: Ditto. >+ * Modules/webxr/WebXRLayer.cpp: Added. >+ (WebCore::WebXRLayer::WebXRLayer): >+ * Modules/webxr/WebXRLayer.h: Ditto. >+ * Modules/webxr/WebXRLayer.idl: Ditto. >+ * Modules/webxr/WebXRSession.h: Export scriptExecutionContext() so it could be used from the outside. >+ * Modules/webxr/WebXRWebGLLayer.cpp: >+ (WebCore::WebXRWebGLLayer::WebXRWebGLLayer): Call the superclass. >+ * Modules/webxr/WebXRWebGLLayer.h: Inherit from WebXRLayer. >+ * Modules/webxr/WebXRWebGLLayer.idl: Ditto. >+ * Sources.txt: Added new files. >+ * bindings/js/WebCoreBuiltinNames.h: Added XRLayer. >+ * dom/EventTargetFactory.in: Ditto. >+ > 2020-06-10 Sergio Villar Senin <svillar@igalia.com> > > [WebXR] Add a preliminary implementation of XRWebGLLayer >diff --git a/Source/WebCore/CMakeLists.txt b/Source/WebCore/CMakeLists.txt >index 399a6bd3fd096c5117881c9257691505133c3011..33cbc5111de83b6b4b81a01c20cf8f7bec41b1bf 100644 >--- a/Source/WebCore/CMakeLists.txt >+++ b/Source/WebCore/CMakeLists.txt >@@ -1214,6 +1214,7 @@ if (ENABLE_WEBXR) > Modules/webxr/WebXRFrame.idl > Modules/webxr/WebXRInputSource.idl > Modules/webxr/WebXRInputSourceArray.idl >+ Modules/webxr/WebXRLayer.idl > Modules/webxr/WebXRPose.idl > Modules/webxr/WebXRReferenceSpace.idl > Modules/webxr/WebXRRenderState.idl >diff --git a/Source/WebCore/DerivedSources.make b/Source/WebCore/DerivedSources.make >index b27c79ce663e2c8b8ea460ae081ebf1dde7033ba..78fd266d15fd4b26497c92b3277128a38c60910f 100644 >--- a/Source/WebCore/DerivedSources.make >+++ b/Source/WebCore/DerivedSources.make >@@ -505,6 +505,7 @@ JS_BINDING_IDLS = \ > $(WebCore)/Modules/webxr/WebXRFrame.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 \ >diff --git a/Source/WebCore/Modules/webxr/WebXRLayer.cpp b/Source/WebCore/Modules/webxr/WebXRLayer.cpp >new file mode 100644 >index 0000000000000000000000000000000000000000..2bc331519cb943888371c6e41ce235310de518ee >--- /dev/null >+++ b/Source/WebCore/Modules/webxr/WebXRLayer.cpp >@@ -0,0 +1,47 @@ >+/* >+ * Copyright (C) 2020 Igalia S.L. 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. >+ */ >+ >+#include "config.h" >+#include "WebXRLayer.h" >+ >+#if ENABLE(WEBXR) >+ >+#include <wtf/IsoMallocInlines.h> >+ >+namespace WebCore { >+ >+WTF_MAKE_ISO_ALLOCATED_IMPL(WebXRLayer); >+ >+WebXRLayer::WebXRLayer(ScriptExecutionContext* context) >+ : ContextDestructionObserver(context) >+{ >+ ASSERT(context); >+} >+ >+WebXRLayer::~WebXRLayer() = default; >+ >+} // namespace WebCore >+ >+#endif // ENABLE(WEBXR) >diff --git a/Source/WebCore/Modules/webxr/WebXRLayer.h b/Source/WebCore/Modules/webxr/WebXRLayer.h >new file mode 100644 >index 0000000000000000000000000000000000000000..dfa31b8d541d484eb68087f871006e5ba4bde133 >--- /dev/null >+++ b/Source/WebCore/Modules/webxr/WebXRLayer.h >@@ -0,0 +1,62 @@ >+/* >+ * Copyright (C) 2020 Igalia S.L. 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. >+ */ >+ >+#pragma once >+ >+#if ENABLE(WEBXR) >+ >+#include "ContextDestructionObserver.h" >+#include "EventTarget.h" >+#include <wtf/IsoMalloc.h> >+#include <wtf/RefCounted.h> >+ >+namespace WebCore { >+ >+class ScriptExecutionContext; >+ >+class WebXRLayer : public RefCounted<WebXRLayer>, public EventTargetWithInlineData, public ContextDestructionObserver { >+ WTF_MAKE_ISO_ALLOCATED(WebXRLayer); >+public: >+ ~WebXRLayer(); >+ >+ using RefCounted<WebXRLayer>::ref; >+ using RefCounted<WebXRLayer>::deref; >+ >+protected: >+ WebXRLayer(ScriptExecutionContext*); >+ >+ // EventTarget >+ ScriptExecutionContext* scriptExecutionContext() const override { return ContextDestructionObserver::scriptExecutionContext(); } >+ >+private: >+ // EventTarget >+ EventTargetInterface eventTargetInterface() const override { return WebXRLayerEventTargetInterfaceType; } >+ void refEventTarget() override { ref(); } >+ void derefEventTarget() override { deref(); } >+}; >+ >+} // namespace WebCore >+ >+#endif // ENABLE(WEBXR) >diff --git a/Source/WebCore/Modules/webxr/WebXRLayer.idl b/Source/WebCore/Modules/webxr/WebXRLayer.idl >new file mode 100644 >index 0000000000000000000000000000000000000000..8e2f71043b2a940b6758ea7b58371b60f160e801 >--- /dev/null >+++ b/Source/WebCore/Modules/webxr/WebXRLayer.idl >@@ -0,0 +1,33 @@ >+/* >+ * Copyright (C) 2020 Igalia S.L. 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. >+ */ >+ >+[ >+ EnabledAtRuntime=WebXR, >+ Conditional=WEBXR, >+ SecureContext, >+ Exposed=Window, >+ InterfaceName=XRLayer, >+] interface WebXRLayer : EventTarget { >+}; >\ No newline at end of file >diff --git a/Source/WebCore/Modules/webxr/WebXRSession.h b/Source/WebCore/Modules/webxr/WebXRSession.h >index 23d34009abc9ac9becbc4ea647cd1e28cfba4a3b..4878be0b3fa9b61421462855d794df40abfe8cf6 100644 >--- a/Source/WebCore/Modules/webxr/WebXRSession.h >+++ b/Source/WebCore/Modules/webxr/WebXRSession.h >@@ -76,6 +76,9 @@ public: > unsigned requestAnimationFrame(Ref<XRFrameRequestCallback>&&); > void cancelAnimationFrame(unsigned callbackId); > >+ // EventTarget. >+ ScriptExecutionContext* scriptExecutionContext() const override { return ActiveDOMObject::scriptExecutionContext(); } >+ > void end(EndPromise&&); > > bool ended() const { return m_ended; } >@@ -87,7 +90,6 @@ private: > > // EventTarget > EventTargetInterface eventTargetInterface() const override { return WebXRSessionEventTargetInterfaceType; } >- ScriptExecutionContext* scriptExecutionContext() const override { return ActiveDOMObject::scriptExecutionContext(); } > void refEventTarget() override { ref(); } > void derefEventTarget() override { deref(); } > >diff --git a/Source/WebCore/Modules/webxr/WebXRWebGLLayer.cpp b/Source/WebCore/Modules/webxr/WebXRWebGLLayer.cpp >index 2381d8174320d2576584123937d6c3c2eca4ffdb..2ae6700abee15f92c65aae1e6b6aef69771270eb 100644 >--- a/Source/WebCore/Modules/webxr/WebXRWebGLLayer.cpp >+++ b/Source/WebCore/Modules/webxr/WebXRWebGLLayer.cpp >@@ -38,10 +38,13 @@ > #include "WebXRSession.h" > #include "WebXRViewport.h" > #include "XRWebGLLayerInit.h" >+#include <wtf/IsoMallocInlines.h> > #include <wtf/Scope.h> > > namespace WebCore { > >+WTF_MAKE_ISO_ALLOCATED_IMPL(WebXRWebGLLayer); >+ > // https://immersive-web.github.io/webxr/#dom-xrwebgllayer-xrwebgllayer > ExceptionOr<Ref<WebXRWebGLLayer>> WebXRWebGLLayer::create(WebXRSession& session, WebXRRenderingContext&& context, const XRWebGLLayerInit& init) > { >@@ -102,7 +105,8 @@ IntSize WebXRWebGLLayer::computeRecommendedWebGLFramebufferResolution() > } > > WebXRWebGLLayer::WebXRWebGLLayer(WebXRSession& session, WebXRRenderingContext&& context, const XRWebGLLayerInit& init) >- : m_session(makeRef(session)) >+ : WebXRLayer(session.scriptExecutionContext()) >+ , m_session(makeRef(session)) > , m_context(WTFMove(context)) > { > // 7. Initialize layerâs ignoreDepthValues as follows: >diff --git a/Source/WebCore/Modules/webxr/WebXRWebGLLayer.h b/Source/WebCore/Modules/webxr/WebXRWebGLLayer.h >index 5c0539361889d5ed3527da7b0bbeef69b5f1f60c..7b03f09fa1a87c45f92b07ebc7a4a2b826f42e54 100644 >--- a/Source/WebCore/Modules/webxr/WebXRWebGLLayer.h >+++ b/Source/WebCore/Modules/webxr/WebXRWebGLLayer.h >@@ -28,9 +28,9 @@ > #if ENABLE(WEBXR) > > #include "ExceptionOr.h" >+#include "WebXRLayer.h" > #include <wtf/IsoMalloc.h> > #include <wtf/Ref.h> >-#include <wtf/RefCounted.h> > #include <wtf/RefPtr.h> > #include <wtf/Variant.h> > >@@ -47,7 +47,8 @@ class WebXRView; > class WebXRViewport; > struct XRWebGLLayerInit; > >-class WebXRWebGLLayer : public RefCounted<WebXRWebGLLayer> { >+class WebXRWebGLLayer : public WebXRLayer { >+ WTF_MAKE_ISO_ALLOCATED(WebXRWebGLLayer); > public: > > using WebXRRenderingContext = WTF::Variant< >@@ -58,7 +59,7 @@ public: > >; > > static ExceptionOr<Ref<WebXRWebGLLayer>> create(WebXRSession&, WebXRRenderingContext&&, const XRWebGLLayerInit&); >- ~WebXRWebGLLayer(); >+ virtual ~WebXRWebGLLayer(); > > bool antialias() const; > bool ignoreDepthValues() const; >diff --git a/Source/WebCore/Modules/webxr/WebXRWebGLLayer.idl b/Source/WebCore/Modules/webxr/WebXRWebGLLayer.idl >index 727d43f9e3d5b6b36977f4ec0c6db022ef6719a5..610097c561ff96b5e2264ce32c4ca2efd0a579d8 100644 >--- a/Source/WebCore/Modules/webxr/WebXRWebGLLayer.idl >+++ b/Source/WebCore/Modules/webxr/WebXRWebGLLayer.idl >@@ -34,9 +34,10 @@ typedef (WebGLRenderingContext) WebXRWebGLRenderingContext; > Conditional=WEBXR, > SecureContext, > Exposed=Window, >- ImplementationLacksVTable, >+ JSGenerateToJSObject, >+ JSGenerateToNativeObject, > InterfaceName=XRWebGLLayer >-] interface WebXRWebGLLayer { >+] interface WebXRWebGLLayer : WebXRLayer { > [MayThrowException] constructor(WebXRSession session, WebXRWebGLRenderingContext context, optional XRWebGLLayerInit layerInit); > > // Attributes >diff --git a/Source/WebCore/Sources.txt b/Source/WebCore/Sources.txt >index 20a201da542e83f09be61c8bbf34656cc8d6423d..0034ffc56145cf368f8c108b7b0074ced68ad825 100644 >--- a/Source/WebCore/Sources.txt >+++ b/Source/WebCore/Sources.txt >@@ -423,6 +423,7 @@ Modules/webxr/WebXRBoundedReferenceSpace.cpp @no-unify > Modules/webxr/WebXRFrame.cpp @no-unify > Modules/webxr/WebXRInputSourceArray.cpp @no-unify > Modules/webxr/WebXRInputSource.cpp @no-unify >+Modules/webxr/WebXRLayer.cpp @no-unify > Modules/webxr/WebXRPose.cpp @no-unify > Modules/webxr/WebXRReferenceSpace.cpp @no-unify > Modules/webxr/WebXRRenderState.cpp @no-unify >@@ -3638,6 +3639,7 @@ JSWebXRView.cpp > JSWebXRViewerPose.cpp > JSWebXRViewport.cpp > JSXRVisibilityState.cpp >+JSWebXRLayer.cpp > JSWebXRWebGLLayer.cpp > JSXRWebGLLayerInit.cpp > >diff --git a/Source/WebCore/WebCore.xcodeproj/project.pbxproj b/Source/WebCore/WebCore.xcodeproj/project.pbxproj >index 62d0f959e34a5a1e12cead30b749d36170ec6003..04957046d068b608e698eeb13e889a5316f6e4ea 100644 >--- a/Source/WebCore/WebCore.xcodeproj/project.pbxproj >+++ b/Source/WebCore/WebCore.xcodeproj/project.pbxproj >@@ -4766,6 +4766,8 @@ > E12A9F4A248A99E2003F06C8 /* XRInteractionMode.h in Headers */ = {isa = PBXBuildFile; fileRef = E12A9F48248A99E0003F06C8 /* XRInteractionMode.h */; }; > E12DE7181E4B74A600F9ACCF /* GridTrackSizingAlgorithm.h in Headers */ = {isa = PBXBuildFile; fileRef = E12DE7161E4B748700F9ACCF /* GridTrackSizingAlgorithm.h */; }; > E12EDB7B0B308A78002704B6 /* EventTarget.h in Headers */ = {isa = PBXBuildFile; fileRef = E12EDB7A0B308A78002704B6 /* EventTarget.h */; settings = {ATTRIBUTES = (Private, ); }; }; >+ E12FDAFF24A0FD200070236E /* WebXRLayer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E12FDAFB24A0FD1C0070236E /* WebXRLayer.cpp */; }; >+ E12FDB0024A0FD200070236E /* WebXRLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = E12FDAFD24A0FD1E0070236E /* WebXRLayer.h */; }; > E134F5AB12EE343F004EC58D /* IntRectHash.h in Headers */ = {isa = PBXBuildFile; fileRef = E134F5AA12EE343F004EC58D /* IntRectHash.h */; settings = {ATTRIBUTES = (Private, ); }; }; > E139866415478474001E3F65 /* StyleResolver.h in Headers */ = {isa = PBXBuildFile; fileRef = E139866215478474001E3F65 /* StyleResolver.h */; }; > E13EF3441684ECF40034C83F /* NetworkStorageSession.h in Headers */ = {isa = PBXBuildFile; fileRef = E13EF3421684ECF40034C83F /* NetworkStorageSession.h */; settings = {ATTRIBUTES = (Private, ); }; }; >@@ -15196,6 +15198,9 @@ > E12DE7161E4B748700F9ACCF /* GridTrackSizingAlgorithm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GridTrackSizingAlgorithm.h; sourceTree = "<group>"; }; > E12EDB7A0B308A78002704B6 /* EventTarget.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EventTarget.h; sourceTree = "<group>"; }; > E12EDBE90B308E0B002704B6 /* EventTarget.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = EventTarget.cpp; sourceTree = "<group>"; }; >+ E12FDAFB24A0FD1C0070236E /* WebXRLayer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebXRLayer.cpp; sourceTree = "<group>"; }; >+ E12FDAFD24A0FD1E0070236E /* WebXRLayer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebXRLayer.h; sourceTree = "<group>"; }; >+ E12FDAFE24A0FD1F0070236E /* WebXRLayer.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WebXRLayer.idl; sourceTree = "<group>"; }; > E134F5AA12EE343F004EC58D /* IntRectHash.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IntRectHash.h; sourceTree = "<group>"; }; > E139866115478474001E3F65 /* StyleResolver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = StyleResolver.cpp; sourceTree = "<group>"; }; > E139866215478474001E3F65 /* StyleResolver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StyleResolver.h; sourceTree = "<group>"; }; >@@ -27492,6 +27497,9 @@ > E1EE8AE62412B17000E794D6 /* WebXRInputSourceArray.cpp */, > E1EE8ADD2412B17000E794D6 /* WebXRInputSourceArray.h */, > E19490932434F16000416A99 /* WebXRInputSourceArray.idl */, >+ E12FDAFB24A0FD1C0070236E /* WebXRLayer.cpp */, >+ E12FDAFD24A0FD1E0070236E /* WebXRLayer.h */, >+ E12FDAFE24A0FD1F0070236E /* WebXRLayer.idl */, > E1EE8AE52412B17000E794D6 /* WebXRPose.cpp */, > E1EE8AE12412B17000E794D6 /* WebXRPose.h */, > E19490A12434F16800416A99 /* WebXRPose.idl */, >@@ -33818,6 +33826,7 @@ > E1EE8B8A2413191F00E794D6 /* WebXRFrame.h in Headers */, > E1EE8BA82413196300E794D6 /* WebXRInputSource.h in Headers */, > E1EE8B862413191F00E794D6 /* WebXRInputSourceArray.h in Headers */, >+ E12FDB0024A0FD200070236E /* WebXRLayer.h in Headers */, > E1EE8B882413191F00E794D6 /* WebXRPose.h in Headers */, > E1EE8BA62413196300E794D6 /* WebXRReferenceSpace.h in Headers */, > E1EE8B812413191F00E794D6 /* WebXRRenderState.h in Headers */, >@@ -35102,6 +35111,7 @@ > E1EE8B932413195000E794D6 /* WebXRFrame.cpp in Sources */, > E1EE8BA12413196300E794D6 /* WebXRInputSource.cpp in Sources */, > E1EE8B8C2413191F00E794D6 /* WebXRInputSourceArray.cpp in Sources */, >+ E12FDAFF24A0FD200070236E /* WebXRLayer.cpp in Sources */, > E1EE8B8B2413191F00E794D6 /* WebXRPose.cpp in Sources */, > E1EE8B7F2413191F00E794D6 /* WebXRReferenceSpace.cpp in Sources */, > E1EE8B7C2413191F00E794D6 /* WebXRRenderState.cpp in Sources */, >diff --git a/Source/WebCore/bindings/js/WebCoreBuiltinNames.h b/Source/WebCore/bindings/js/WebCoreBuiltinNames.h >index 67033479a22bbb2f3ca1a6dc4708c61a2e17c30e..cca4a7f3e710302c05aec831aff96b4f96038a66 100644 >--- a/Source/WebCore/bindings/js/WebCoreBuiltinNames.h >+++ b/Source/WebCore/bindings/js/WebCoreBuiltinNames.h >@@ -251,6 +251,7 @@ namespace WebCore { > macro(XRInputSourceArray) \ > macro(XRInputSourceEvent) \ > macro(XRInputSourcesChangeEvent) \ >+ macro(XRLayer) \ > macro(XRPose) \ > macro(XRReferenceSpace) \ > macro(XRReferenceSpaceEvent) \ >diff --git a/Source/WebCore/dom/EventTargetFactory.in b/Source/WebCore/dom/EventTargetFactory.in >index a154b445a13ad4769629d9f7d9377a9df150f7ac..3305e10f0c8522b063025f10df4522d60c2db21a 100644 >--- a/Source/WebCore/dom/EventTargetFactory.in >+++ b/Source/WebCore/dom/EventTargetFactory.in >@@ -60,6 +60,7 @@ Worker > WorkletGlobalScope conditional=CSS_PAINTING_API > XMLHttpRequest > XMLHttpRequestUpload >+WebXRLayer conditional=WEBXR > WebXRSession conditional=WEBXR > WebXRSpace conditional=WEBXR > WebXRSystem conditional=WEBXR >diff --git a/LayoutTests/imported/w3c/ChangeLog b/LayoutTests/imported/w3c/ChangeLog >index 9880684d3dbfd5bdd8a83ecc1dd517512fa1504c..6d6487a2e79ad2975f3d36293bb9d9a4dd68202f 100644 >--- a/LayoutTests/imported/w3c/ChangeLog >+++ b/LayoutTests/imported/w3c/ChangeLog >@@ -1,3 +1,13 @@ >+2020-06-22 Sergio Villar Senin <svillar@igalia.com> >+ >+ [WebXR] Introducing XRLayer >+ https://bugs.webkit.org/show_bug.cgi?id=213462 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ * web-platform-tests/webxr/idlharness.https.window-expected.txt: Replace FAIL by PASS expectations >+ for XRLayer interface. >+ > 2020-06-10 Sergio Villar Senin <svillar@igalia.com> > > [WebXR] Add a preliminary implementation of XRWebGLLayer >diff --git a/LayoutTests/imported/w3c/web-platform-tests/webxr/idlharness.https.window-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/webxr/idlharness.https.window-expected.txt >index 9aeeed3d5091ebfdef0d74063d5d6db11cdb42f4..7c39c1d4d5a0e50d53dc56abde3f4499eae35278 100644 >--- a/LayoutTests/imported/w3c/web-platform-tests/webxr/idlharness.https.window-expected.txt >+++ b/LayoutTests/imported/w3c/web-platform-tests/webxr/idlharness.https.window-expected.txt >@@ -153,16 +153,16 @@ PASS XRInputSourceArray interface: existence and properties of interface prototy > PASS XRInputSourceArray interface: existence and properties of interface prototype object's @@unscopables property > PASS XRInputSourceArray interface: iterable<XRInputSource> > PASS XRInputSourceArray interface: attribute length >-FAIL XRLayer interface: existence and properties of interface object assert_own_property: self does not have own property "XRLayer" expected property "XRLayer" missing >-FAIL XRLayer interface object length assert_own_property: self does not have own property "XRLayer" expected property "XRLayer" missing >-FAIL XRLayer interface object name assert_own_property: self does not have own property "XRLayer" expected property "XRLayer" missing >-FAIL XRLayer interface: existence and properties of interface prototype object assert_own_property: self does not have own property "XRLayer" expected property "XRLayer" missing >-FAIL XRLayer interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "XRLayer" expected property "XRLayer" missing >-FAIL XRLayer interface: existence and properties of interface prototype object's @@unscopables property assert_own_property: self does not have own property "XRLayer" expected property "XRLayer" missing >-FAIL XRWebGLLayer interface: existence and properties of interface object assert_own_property: self does not have own property "XRLayer" expected property "XRLayer" missing >+PASS XRLayer interface: existence and properties of interface object >+PASS XRLayer interface object length >+PASS XRLayer interface object name >+PASS XRLayer interface: existence and properties of interface prototype object >+PASS XRLayer interface: existence and properties of interface prototype object's "constructor" property >+PASS XRLayer interface: existence and properties of interface prototype object's @@unscopables property >+PASS XRWebGLLayer interface: existence and properties of interface object > PASS XRWebGLLayer interface object length > PASS XRWebGLLayer interface object name >-FAIL XRWebGLLayer interface: existence and properties of interface prototype object assert_own_property: self does not have own property "XRLayer" expected property "XRLayer" missing >+PASS XRWebGLLayer interface: existence and properties of interface prototype object > PASS XRWebGLLayer interface: existence and properties of interface prototype object's "constructor" property > PASS XRWebGLLayer interface: existence and properties of interface prototype object's @@unscopables property > PASS XRWebGLLayer interface: attribute antialias
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Flags:
youennf
:
review+
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 213462
: 402484