New issue
Advanced search Search tips

Issue 826983 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Apr 2018
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 1
Type: Bug-Regression
Proj-XR
Proj-XR-VR



Sign in to add a comment

[DLA] Startup race leaves deep-link stuck on splash screen.

Project Member Reported by mthiesse@chromium.org, Mar 29 2018

Issue description

There's a race during startup in VrShellDelegate where onNewIntentWithNativeInternal can run after onResume, which was previously masked by the fact that cancelling the startup animation paused and resumed us again after receiving the intent. The startup animation is now gone on O+, exposing this race.
 
There's an even more serious problem here where we're delivering the displayactivate event to the wrong page, leading a non-visible page to start presenting, and receiving poses etc.
Looks like there's a focus bug on Android, where a non-visible Webcontents in a hidden Activity is getting focused...
Labels: -Type-Bug Type-Bug-Regression
Project Member

Comment 5 by bugdroid1@chromium.org, Mar 30 2018

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

commit d38ec41d11b8c31189e99ff41512351da7bd6294
Author: Michael Thiessen <mthiesse@chromium.org>
Date: Fri Mar 30 00:00:13 2018

VR: Fix background page receiving displayactivate event.

This CL fixes two issues that could cause a backgrounded webVR page to
receive the displayactivate event and start webVR presentation while
not visible.

The first is an issue where the ContentViewCore could be focused while
paused if the view hierarchy changes, switching Android view focus while
the Activity is paused.

The second is an issue where we the stored state to handle
displayactivate on headset insertion wasn't getting cleared when
launched by an intent rather than headset insertion.

Bug:  826983 
Change-Id: Ic3426f36261b3dcdd44ce7162dff4a9b00fbef39
Reviewed-on: https://chromium-review.googlesource.com/986465
Reviewed-by: Bo <boliu@chromium.org>
Reviewed-by: Yash Malik <ymalik@chromium.org>
Commit-Queue: Michael Thiessen <mthiesse@chromium.org>
Cr-Commit-Position: refs/heads/master@{#547030}
[modify] https://crrev.com/d38ec41d11b8c31189e99ff41512351da7bd6294/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrShellDelegate.java
[modify] https://crrev.com/d38ec41d11b8c31189e99ff41512351da7bd6294/content/public/android/java/src/org/chromium/content/browser/ContentViewCoreImpl.java

Comment 6 by cmasso@google.com, Apr 2 2018

Is this now fixed?
This is fixed on ToT. I'm in the process of testing and verifying this on Canary and M66.
Labels: Merge-Request-66
Verified the fix on Canary and a local M66 build, requesting merge.
Project Member

Comment 9 by sheriffbot@chromium.org, Apr 3 2018

Labels: -Merge-Request-66 Merge-Review-66 Hotlist-Merge-Review
This bug requires manual review: We are only 13 days from stable.
Please contact the milestone owner if you have questions.
Owners: cmasso@(Android), cmasso@(iOS), josafat@(ChromeOS), abdulsyed@(Desktop)

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot

Comment 10 by cmasso@google.com, Apr 3 2018

Labels: -Hotlist-Merge-Review -Merge-Review-66 Merge-Approved-66
Project Member

Comment 11 by bugdroid1@chromium.org, Apr 3 2018

Labels: -merge-approved-66 merge-merged-3359
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/bfc0404be56d951e2f91bf8dd1215b5d1c29ff62

commit bfc0404be56d951e2f91bf8dd1215b5d1c29ff62
Author: Michael Thiessen <mthiesse@chromium.org>
Date: Tue Apr 03 19:11:23 2018

VR: Fix background page receiving displayactivate event.

This CL fixes two issues that could cause a backgrounded webVR page to
receive the displayactivate event and start webVR presentation while
not visible.

The first is an issue where the ContentViewCore could be focused while
paused if the view hierarchy changes, switching Android view focus while
the Activity is paused.

The second is an issue where we the stored state to handle
displayactivate on headset insertion wasn't getting cleared when
launched by an intent rather than headset insertion.

TBR=mthiesse@chromium.org

(cherry picked from commit d38ec41d11b8c31189e99ff41512351da7bd6294)

Bug:  826983 
Change-Id: Ic3426f36261b3dcdd44ce7162dff4a9b00fbef39
Reviewed-on: https://chromium-review.googlesource.com/986465
Reviewed-by: Bo <boliu@chromium.org>
Reviewed-by: Yash Malik <ymalik@chromium.org>
Commit-Queue: Michael Thiessen <mthiesse@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#547030}
Reviewed-on: https://chromium-review.googlesource.com/993476
Reviewed-by: Michael Thiessen <mthiesse@chromium.org>
Cr-Commit-Position: refs/branch-heads/3359@{#555}
Cr-Branched-From: 66afc5e5d10127546cc4b98b9117aff588b5e66b-refs/heads/master@{#540276}
[modify] https://crrev.com/bfc0404be56d951e2f91bf8dd1215b5d1c29ff62/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrShellDelegate.java
[modify] https://crrev.com/bfc0404be56d951e2f91bf8dd1215b5d1c29ff62/content/public/android/java/src/org/chromium/content/browser/ContentViewCoreImpl.java

Status: Fixed (was: Started)
Labels: Test-Complete

Sign in to add a comment