-- Leo's gemini proxy

-- Connecting to git.thebackupbox.net:1965...

-- Connected

-- Sending request

-- Meta line: 20 text/gemini

repo: janusweb
action: commit
revision:
path_from:
revision_from: 1cdbef65939c161e6c3a71b42552a009cecd3b78:
path_to:
revision_to:

git.thebackupbox.net

janusweb

git://git.thebackupbox.net/janusweb

commit 1cdbef65939c161e6c3a71b42552a009cecd3b78
Author: James Baicoianu <james_github@baicoianu.com>
Date:   Fri Oct 11 03:32:10 2019 -0700

    WebXR support

diff --git a/media/assets/webui/apps/buttons/buttons.js b/media/assets/webui/apps/buttons/buttons.js

index 415355d4fcf57612cb535424469dbcaf72a7f63f..

index ..5a65d176adab731ea8d95258494de32152be229c 100644

--- a/media/assets/webui/apps/buttons/buttons.js
+++ b/media/assets/webui/apps/buttons/buttons.js
@@ -53,6 +53,7 @@ elation.elements.define('janus-button-fullscreen', class extends elation.element
   }
 });
 elation.elements.define('janus-button-webvr', class extends elation.elements.ui.togglebutton {
+  xr: false,
   create() {
     this.activelabel = 'WebVR';
     this.inactivelabel = 'WebVR';
@@ -61,32 +62,42 @@ elation.elements.define('janus-button-webvr', class extends elation.elements.ui.
     super.create();
     this.view = janus.engine.client.view;

-    window.addEventListener( 'vrdisplayconnect', (ev) => {
+    if ('xr' in navigator) {
+      this.activelabel = 'WebXR';
+      this.inactivelabel = 'WebXR';
+      this.label = this.inactivelabel;
+      this.xr = true;
+    } else if ('getVRDevices' in navigator) {
+      window.addEventListener( 'vrdisplayconnect', (ev) => {
+        this.show();
+      }, false );

-      this.show();
+      window.addEventListener( 'vrdisplaydisconnect', (ev) => {
+        this.hide();
+      }, false );

-    }, false );
-
-    window.addEventListener( 'vrdisplaydisconnect', (ev) => {
-
-      this.hide();
-
-    }, false );
-
-    window.addEventListener( 'vrdisplaypresentchange', (ev) => {
-
-      if (this.view.vrdisplay.isPresenting) {
-      } else {
-      }
-    }, false );
+      window.addEventListener( 'vrdisplaypresentchange', (ev) => {
+        if (this.view.vrdisplay.isPresenting) {
+        } else {
+        }
+      }, false );
+    }
   }
   onactivate(ev) {
     this.label = this.activelabel;
-    this.view.toggleVR(true);
+    if (this.xr) {
+      this.view.startXR();
+    } else {
+      this.view.toggleVR(true);
+    }
   }
   ondeactivate(ev) {
     this.label = this.inactivelabel;
-    this.view.toggleVR(false);
+    if (this.xr) {
+      this.view.stopXR();
+    } else {
+      this.view.toggleVR(false);
+    }
   }
 });
 elation.elements.define('janus-buttons-chromecast', class extends elation.elements.ui.togglebutton {

-----END OF PAGE-----

-- Response ended

-- Page fetched on Sun Jun 2 16:34:25 2024