New issue
Advanced search Search tips

Issue 852607 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner:
Closed: Nov 19
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 1
Type: Bug
Proj-VR
Proj-XR



Sign in to add a comment

creating ar_image_transport_ can cause crashes on N

Project Member Reported by billorr@chromium.org, Jun 13 2018

Issue description

ARCoreDevice is (currently) expected to be used on O+.  There was a recent crash when it was loaded on N.

ARCoreImpl has a version check, but this is run after we create ARImageTransport.

Since ARImageTransport has O-specific features, it would be ideal to explicitly check for O support in ARImageTransport, or move the version check to ARCoreDevice before creating either ARCoreImpl and ARImageTransport.

Perhaps ARCoreDeviceProvider shouldn't even expose ARCoreDevice if we don't expect it to work due to OS version.
 
Components: -Internals>VR Blink>WebVR
Labels: -Pri-3 -Proj-VR M-69 Proj-XR-AR Pri-2
Status: Available (was: Untriaged)
Components: Blink>WebXR
Components: -Blink>WebXR Blink>WebXR>AR
Labels: BlinkWebXR
Removing Blink>WebVR component and assigning to Blink>WebXR 
Components: Blink>WebXR
Labels: -BlinkWebXR
Removing Blink>WebVR component and assigning to Blink>WebXR 
Components: -Blink>WebVR
Labels: AR-Cleanup
Labels: -Pri-2 -M-69 Pri-1
Some additional notes regarding user experience on Android N (Pixel) M71:

1. I enabled the #webxr, #webxr-gamepad-support, and #webxr-hit-test flags from chrome://flags.

Expected: Since AR isn't supported on this device, maybe we shouldn't even have the #webxr-hit-test appear on the flags page?

2. I went to https://immersive-web.github.io/webxr-samples/proposals/phone-ar-hit-test.html and an infobar appeared telling me the site requires me to install "ARCore by Google" in order to work.

Expected: Since the device isn't supported anyways, installing ARCore isn't necessary. So I wouldn't expect a prompt to install it.

3. After installing ARCore, I clicked on the Start AR button. Nothing happened.

Expected: The button should remain disabled in it's "not supported" state.
Owner: bialpio@chromium.org
Status: Started (was: Available)
Cc: btebbs@chromium.org billorr@chromium.org dbbrooks@chromium.org
@billorr, I'm addressing original issue by moving OS version check to ARCoreDeviceProvider.


@dbbrooks
RE 1: I think we still want the flags to be present - the AR support is not there, but we want to control the presence of API entry points.

RE 2: I couldn't reproduce this behavior (Android 7.1.2, Chrome 70.0.3538.80).

RE 3: I see the same behavior - when clicking "Start AR" button, there is no visible action happening, although the promise to request a session from the device is throwing an exception. This seems like a bug - device.supportsSession(...) was resolving fine but device.requestSession(...) with same parameters is being rejected. I'll open a new bug to track this issue.


Project Member

Comment 12 by bugdroid1@chromium.org, Nov 19

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

commit d6456ac6874d409bdcf88c197c6673373aaa73c1
Author: Piotr Bialecki <bialpio@chromium.org>
Date: Mon Nov 19 22:20:54 2018

Move OS version check for AR Core from java to native

Additionally, add a call to check AR Core support from ArCoreDeviceProvider.

This will also fix an issue where not all options for supportsSession
call were being passed.

R=billorr@chromium.org, btebbs@chromium.org, mthiesse@chromium.org

Bug:  852607 
Change-Id: I3e407fd001368cbdead0dbf271ee3bdca8188019
Reviewed-on: https://chromium-review.googlesource.com/c/1341025
Commit-Queue: Piotr Bialecki <bialpio@chromium.org>
Reviewed-by: Klaus Weidner <klausw@chromium.org>
Reviewed-by: Bill Orr <billorr@chromium.org>
Reviewed-by: Michael Thiessen <mthiesse@chromium.org>
Cr-Commit-Position: refs/heads/master@{#609465}
[modify] https://crrev.com/d6456ac6874d409bdcf88c197c6673373aaa73c1/chrome/android/java/src/org/chromium/chrome/browser/vr/ArCoreJavaUtils.java
[modify] https://crrev.com/d6456ac6874d409bdcf88c197c6673373aaa73c1/chrome/browser/android/vr/arcore_device/arcore_device_provider.cc
[modify] https://crrev.com/d6456ac6874d409bdcf88c197c6673373aaa73c1/chrome/browser/android/vr/arcore_device/arcore_java_utils.cc
[modify] https://crrev.com/d6456ac6874d409bdcf88c197c6673373aaa73c1/chrome/browser/android/vr/arcore_device/arcore_shim.cc
[modify] https://crrev.com/d6456ac6874d409bdcf88c197c6673373aaa73c1/chrome/browser/android/vr/arcore_device/arcore_shim.h
[modify] https://crrev.com/d6456ac6874d409bdcf88c197c6673373aaa73c1/third_party/blink/renderer/modules/xr/xr_device.cc

Status: Fixed (was: Started)

Sign in to add a comment