New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 836738 link

Starred by 4 users

Issue metadata

Status: Assigned
Owner:
Last visit > 30 days ago
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Feature
Proj-VR
Proj-XR



Sign in to add a comment

command line argument to permit entering VR without user interaction

Reported by stephent...@gmail.com, Apr 25 2018

Issue description

UserAgent: 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.
 
Labels: Needs-Triage-M66
Cc: susan.boorgula@chromium.org
Components: Blink>WebVR
Labels: Triaged-ET M-68 FoundIn-68 Target-68
Status: Untriaged (was: Unconfirmed)
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..
Owner: ddorwin@chromium.org
Status: Assigned (was: Untriaged)
David, could you assess the feasibility of this, then set its state accordingly?
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)?
Labels: -OS-Windows -Pri-2 -Arch-x86_64 -M-68 -FoundIn-68 -Target-68 -Needs-Triage-M66 Pri-3
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.
Cc: mustaq@chromium.org johnpallett@chromium.org mlamouri@chromium.org
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?
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.
Components: Blink>WebXR
Owner: cwilso@chromium.org
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.

Labels: BlinkWebXR
Removing Blink>WebVR component and assigning to Blink>WebXR 
Labels: -BlinkWebXR
Removing Blink>WebVR component and assigning to Blink>WebXR 
Components: -Blink>WebVR

Sign in to add a comment