tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

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 );