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

Issue 693298 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Feb 2017
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 2
Type: Bug-Regression
Proj-XR



Sign in to add a comment

navigator.getVRDisplays() doesn't resolve when Vr Services are out of date or don't exist

Project Member Reported by amp@chromium.org, Feb 17 2017

Issue description

Chrome Version: dev build 58.0.3014.0
OS: Android Nexus 6p

What steps will reproduce the problem?
(1) Uninstall all updates to Google Vr Services in play store
(2) Navigate to a page that calls navigator.getVRDisplays() (such as https://webvr.info/samples/03-vr-presentation.html)

What is the expected result?
Promise from getVRDisplays() should resolve with no devices (since Vr Services are out of date)

What happens instead?
The promise never resolves.
 

Comment 1 by amp@chromium.org, Feb 17 2017

Summary: navigator.getVRDisplays() doesn't resolve when Vr Services are out of date or don't exist (was: navigator.getVRDisplays() doesn't resolve when Vr Services are out of date)
Verified that missing Vr Services also causes this (updated description) and that it does not happen on Official dev release 58.0.3012.4 on a Android Kitkat device (Android One) or on current beta 57.0.2987.54 or stable 56.0.2924.87
Labels: -Type-Bug -Pri-3 M-58 Pri-2 Type-Bug-Regression

Comment 3 by amp@chromium.org, Feb 17 2017

Clarifying comment #1.  The issue does occur on official dev 58.0.3012.4 (and recent dev builds), but doesn't happen on earlier official versions of 57 or 56.

Comment 4 by amp@chromium.org, Feb 17 2017

Owner: amp@chromium.org
Status: Started (was: Untriaged)
Looks like this was caused by https://codereview.chromium.org/2658643003 which changed when devices where added by the GvrDeviceProvider.

I have a potential fix up in https://codereview.chromium.org/2705653005/


Project Member

Comment 5 by bugdroid1@chromium.org, Feb 21 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/dd47ba396451348cc15ecbc53255cb618e457414

commit dd47ba396451348cc15ecbc53255cb618e457414
Author: amp <amp@chromium.org>
Date: Tue Feb 21 22:10:22 2017

Fix WebVR getDevices promise not resolving when VR Services are not compatible.

Adds a check for initialization before GvrDeviceProvider adds a device.

Adding a device without the library in place (succesful initialization) makes the promise hang waiting for a device connected event which never happens.

BUG= 693298 

Review-Url: https://codereview.chromium.org/2705653005
Cr-Commit-Position: refs/heads/master@{#451847}

[modify] https://crrev.com/dd47ba396451348cc15ecbc53255cb618e457414/device/vr/android/gvr/gvr_device_provider.cc

Project Member

Comment 6 by bugdroid1@chromium.org, Feb 21 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/dd47ba396451348cc15ecbc53255cb618e457414

commit dd47ba396451348cc15ecbc53255cb618e457414
Author: amp <amp@chromium.org>
Date: Tue Feb 21 22:10:22 2017

Fix WebVR getDevices promise not resolving when VR Services are not compatible.

Adds a check for initialization before GvrDeviceProvider adds a device.

Adding a device without the library in place (succesful initialization) makes the promise hang waiting for a device connected event which never happens.

BUG= 693298 

Review-Url: https://codereview.chromium.org/2705653005
Cr-Commit-Position: refs/heads/master@{#451847}

[modify] https://crrev.com/dd47ba396451348cc15ecbc53255cb618e457414/device/vr/android/gvr/gvr_device_provider.cc

Project Member

Comment 7 by bugdroid1@chromium.org, Feb 21 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/dd47ba396451348cc15ecbc53255cb618e457414

commit dd47ba396451348cc15ecbc53255cb618e457414
Author: amp <amp@chromium.org>
Date: Tue Feb 21 22:10:22 2017

Fix WebVR getDevices promise not resolving when VR Services are not compatible.

Adds a check for initialization before GvrDeviceProvider adds a device.

Adding a device without the library in place (succesful initialization) makes the promise hang waiting for a device connected event which never happens.

BUG= 693298 

Review-Url: https://codereview.chromium.org/2705653005
Cr-Commit-Position: refs/heads/master@{#451847}

[modify] https://crrev.com/dd47ba396451348cc15ecbc53255cb618e457414/device/vr/android/gvr/gvr_device_provider.cc

Comment 8 by amp@chromium.org, Feb 21 2017

Status: Fixed (was: Started)
Labels: Proj-VR
Components: Blink>WebXR

Sign in to add a comment