command line argument to permit entering VR without user interaction
Reported by
stephent...@gmail.com,
Apr 25 2018
|
||||||||||
Issue descriptionUserAgent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.117 Safari/537.36 Steps to reproduce the problem: The VR spec and Chrome implementation require an explicit user action before requestPresent is allowed and VR can be entered. This is very reasonable, but it would be good to have an explicit override (command line argument such as --allow-vr-without-interaction) that removed this restriction. This would be very helpful for exhibitions; for example where the computer and keyboard are hidden away and everything autostarts. We have sidestepped this by using an external program to fire keystrokes at the browser, but this is clearly not a preferred solution. What is the expected behavior? It behaves as specification What went wrong? but I'd rather it was possible to make it so it doesn't behave as specification. Did this work before? N/A Chrome version: 66.0.3359.117 Channel: stable OS Version: 10.0 Flash Version: It did work a very long time ago on the experimental ChromeVR (just be default). It will certainly be helpful for us; not sure how generally applicable it will be.
,
Apr 26 2018
stephentodd@ Thanks for the issue. As this is marked as Feature, changing the status to Untriaged and requesting someone from Blink>WebVR team to look into the issue and help in further triaging. Thanks..
,
May 11 2018
David, could you assess the feasibility of this, then set its state accordingly?
,
May 12 2018
This was previously considered and abandoned for issue 667520 . http://chromedriver.chromium.org/ can be used to drive Chrome and provide user activation. (There is also https://web-platform-tests.org/writing-tests/testdriver.html for Web Platform Tests.) Does your use case involve a single page or multiple/navigation? If the latter, how is the navigation happening without access to a keyboard or mouse (not mentioned in the description)?
,
May 12 2018
,
Jun 1 2018
Thank you for that response, sorry so long to get back, on holiday. Issue 667520 and the associated discussion https://codereview.chromium.org/2543723002 were focused on testing. Our use case involves production runtime, for example in an exhibition, where the complete startup sequence (start Windows, user login, start chrome, start our WebVR application, enter VR, run main exhibition part of application) is automated when the invigilator powers the machine on. All subsequent interaction is via the Vive headset and controllers. The weak link is the roundabout way we need to enter VR. The new flag would be used in much the same way that --start-fullscreen is used: except --start-fullscreen does start in fullscreen without code interaction, whereas the flag would still require the requestPresent call, just not from user interaction. chromedriver could almost certainly do what is needed, but seems like overkill and would be an extra complication in exhibition setup on new machines. The application does not involve multiple pages; if it did navigation would probably be via setting location.href.
,
Jun 5 2018
mustaq: Are there general mechanisms for bypassing user activation requirements in such cases? Could starting Chrome with a URL be an indication of user intent to interact? (This might not make sense for payments, for example.) What about unmuted autoplay in such scenarios?
,
Jun 6 2018
One can call Chrome with "--autoplay-policy=no-user-gesture-required" to disable the autoplay policy. This is needed for tests and also allows switching policies. In the long run, I would expect this to simply become a way to disable autoplay for tests.
,
Jul 4
,
Jul 30
,
Jul 31
Please make sure that by passing user activation here applies _only_ to entering VR mode. Also note the risk of abuse: this feature could be a target for abuse, like popups. We have an option to disable popup blocker, not sure what fraction of users use the option.
,
Aug 7
Removing Blink>WebVR component and assigning to Blink>WebXR
,
Aug 7
Removing Blink>WebVR component and assigning to Blink>WebXR
,
Aug 7
|
||||||||||
►
Sign in to add a comment |
||||||||||
Comment 1 by viswa.karala@chromium.org
, Apr 25 2018