SteamVR automatically launched when heading to robertsspaceindustries.com

RESOLVED FIXED in mozilla57

Status

()

Core
WebVR
P1
normal
RESOLVED FIXED
2 months ago
29 days ago

People

(Reporter: regs, Assigned: kip)

Tracking

55 Branch
mozilla57
Points:
---

Firefox Tracking Flags

(firefox57 unaffected)

Details

MozReview Requests

()

Submitter Diff Changes Open Issues Last Updated
Loading...
Error loading review requests:

Attachments

(1 attachment)

(Reporter)

Description

2 months ago
User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:55.0) Gecko/20100101 Firefox/55.0
Build ID: 20170803103124

Steps to reproduce:

Open robertsspaceindustries.com


Actual results:

SteamVR is launched


Expected results:

Might be interesting for some, but shouldn't happen by default.

Updated

2 months ago
Component: Untriaged → WebVR
Product: Firefox → Core

Comment 1

2 months ago
I have the same happening when visiting:
- https://bankieren.rabobank.nl/klanten/?language=nl (note the NL language, doesn't seem to do it for EN)
- https://mozvr.com/ (here it starts before the page is even loaded, blocking for 10-20 seconds).

In both cases I haven't clicked any action to start VR. Apparently just having some 3D scene in a page (though no idea where the banking site would have that hidden or used for even) activates SteamVR. Clearly this should only happen when you click some button.

When I close SteamVR with either page still open, after a few seconds, the browser hangs for about 5 seconds and SteamVR is started again.

Browser: Firefox 55.0.1 (64-bit), Windows 10. (Also) with a just created profile.

I reported a different URL in issue #1351048 before. But there it doesn't occur anymore. Also, that issue was already closed, so I shouldn't have commented there. I'm just mentioning the issue here because it is related.

Comment 2

2 months ago
Btw, I do also have it happen visiting the first mentioned website robertsspaceindustries.com.
(Reporter)

Comment 3

2 months ago
Indeed it should have kind of icon on address bar if VR is available for the site. Not launching VR solution automatically on desktop. It's desktop after all.

As a workaround i switched WebVR entirely off for now
dom.vr.enabled=false

Comment 4

2 months ago
Thanks. I have disabled it myself now too.
I hadn't touched any of the dom.vr settings yet. But now I see dom.vr.autoactivate.enabled . That is set to false (default). You'd think that would actually prevent this automatic starting of SteamVR. But it clearly doesn't.

Comment 5

2 months ago
I second regs' comment, there should be a page notification to launch VR instead of launching automatically, it's very annoying to have SteamVR continuously pop-up especially without the headset connected.

Comment 6

a month ago
This is indeed super annoying. I have many pages opened but none of them is VR related and yet my SteamVR is launched by itself every time I start Firefox. I'm running 56.0b12 (64-bit).
(Assignee)

Comment 7

a month ago
Thanks for reporting this.  I have reproduced and will investigate the false-launches and hanging further.  SteamVR should only be launching for sites that actually will use the WebVR API, not just 3d scene with WebGL or three.js.

We are also working on some UI that should give you more direct control over which sites are able to access your VR hardware.
Assignee: nobody → kgilbert
status-firefox57: --- → unaffected
Priority: -- → P1
(Assignee)

Comment 8

a month ago
I have found the cause of this...

When calling navigator.activeVRDisplays, it should only return the list of active VR displays without activating any new ones.  Unfortunately, a bug in the function is causing it to flag the page as a WebVR site, causing the VR hardware to initialize.

Somes sites that do not have any WebVR content are still calling navigator.activeVRDisplays.
One example is a library called "BehavioWeb", as used on https://bankieren.rabobank.nl.

BehavioWeb tries to profile users in order to determine if they are likely the same person that accessed the site last time, aiding authentication into the banking login.  Part of their algorithm involves serializing all the attributes on "Navigator" and sending them in an AJAX request to their server.  This includes an access to Navigator.activeVRDisplays...  Thus triggering the OpenVR startup.

This should be an easy fix for this case.
(Assignee)

Updated

a month ago
Status: UNCONFIRMED → ASSIGNED
Ever confirmed: true
(Assignee)

Comment 9

a month ago
The pause in the browser that occurs when hitting a WebVR page with SteamVR installed but no devices attached will be fixed separately in Bug 1392216.
Comment hidden (mozreview-request)
(Assignee)

Updated

a month ago
Attachment #8910521 - Flags: review?(dmu)

Comment 11

a month ago
mozreview-review
Comment on attachment 8910521 [details]
Bug 1389220 - Prevent navigator.activeVRDisplays from activating VR hardware and runtimes

https://reviewboard.mozilla.org/r/181946/#review187362

LGTM
Attachment #8910521 - Flags: review?(dmu) → review+

Comment 12

29 days ago
Pushed by kgilbert@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/b37909c3b506
Prevent navigator.activeVRDisplays from activating VR hardware and runtimes r=daoshengmu
https://hg.mozilla.org/mozilla-central/rev/b37909c3b506
Status: ASSIGNED → RESOLVED
Last Resolved: 29 days ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla57
You need to log in before you can comment on or make changes to this bug.