idlharness.https.window.js (1958B)
1 // META: script=/resources/WebIDLParser.js 2 // META: script=/resources/idlharness.js 3 // META: timeout=long 4 5 'use strict'; 6 7 // https://immersive-web.github.io/webxr/ 8 9 idl_test( 10 ['webxr'], 11 ['permissions', 'webgl1', 'geometry', 'html', 'dom'], 12 async idl_array => { 13 idl_array.add_objects({ 14 Navigator: ['navigator'], 15 XR: ['navigator.xr'], 16 // TODO: XRSystem 17 XRSession: ['xrSession'], 18 XRRenderState: ['xrRenderState'], 19 // TODO: XRFrame 20 // TODO: XRSpace 21 XRReferenceSpace: ['xrReferenceSpace'], 22 // TODO: XRBoundedReferenceSpace 23 // TODO: XRView 24 // TODO: XRViewport 25 XRRigidTransform: ['new XRRigidTransform()'], 26 // TODO: XRPose 27 // TODO: XRViewerPose 28 // TODO: XRInputSource 29 XRInputSourceArray: ['xrInputSourceArray'], 30 XRWebGLLayer: ['xrWebGLLayer'], 31 WebGLRenderingContextBase: ['webGLRenderingContextBase'], 32 XRSessionEvent: ['xrSessionEvent'], 33 // TODO: XRInputSourceEvent 34 XRInputSourcesChangeEvent: ['xrInputSourcesChangeEvent'], 35 // TODO: XRReferenceSpaceEvent 36 // TODO: XRPermissionStatus 37 }); 38 39 self.xrSession = await navigator.xr.requestSession('inline'); 40 self.xrRenderState = self.xrSession.renderState; 41 self.xrReferenceSpace = await self.xrSession.requestReferenceSpace('viewer'); 42 self.xrInputSourceArray = self.xrSession.inputSources; 43 self.xrSessionEvent = new XRSessionEvent('end', {session: self.xrSession}); 44 self.xrInputSourcesChangeEvent = new XRInputSourcesChangeEvent('inputsourceschange', { 45 session: self.xrSession, 46 added: [], 47 removed: [], 48 }); 49 50 // XRWebGLRenderingContext is a typedef to either WebGLRenderingContext or WebGL2RenderingContext. 51 const canvas = document.createElement('canvas'); 52 self.webGLRenderingContextBase = canvas.getContext('webgl'); 53 self.xrWebGLLayer = new XRWebGLLayer(self.xrSession, self.webGLRenderingContextBase); 54 } 55 );