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

Issue 767883 link

Starred by 1 user

Issue metadata

Status: Verified
Owner:
Last visit > 30 days ago
Closed: Sep 2017
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 1
Type: Bug
Proj-VR
Proj-XR
Proj-XR-VR



Sign in to add a comment

Reticle disappears when hitting content backplane

Project Member Reported by cjgrant@chromium.org, Sep 22 2017

Issue description

ToT as of September 22 sees the reticle disappear when it makes content with the backplane.  Otherwise, the reticle is visible on the floor, side walls, elements, etc.


 
Project Member

Comment 1 by bugdroid1@chromium.org, Sep 25 2017

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

commit f81cf54a2cf8bbdc0f9e2b94442b53d61d40582a
Author: Ian Vollick <vollick@chromium.org>
Date: Mon Sep 25 19:41:31 2017

[vr] Fix reticle rendering over invisible elements

In https://chromium-review.googlesource.com/c/chromium/src/+/675788, I
regressed rendering by a late change to how non-renderable elements
were handled. In that CL, non-renderable elements were assigned to
draw phase kPhaseNone.

The logic in UiScene was also updated to make use of draw phases in
conjunction with the tree hierarchy to return swaths of UiElements to
render.

The net effect is that the back plane, though hit testable, was not
included in the list of elements to render. So when it came time to
place the reticle atop the the backplane, the element was not in the
list, so the reticle never appeared.

Fixing the issue is not quite as simple as assigning a different
draw phase to the back plane because UiElements do not expect to be
rendered and, in fact, assert that their Render function is never
called.

So I have instead created an InvisibleHitTarget base class for this
sort of UiElement and I have updated UiSceneManagerTest to check draw
phase when it is checking the visibility of elements.

And this uncovered another issue - the exit prompt backplane was
also hit testable, but not rendered and so I've also made it a hit
target.

We should go further than this, eventually, and update the hit
testing code to operate on only those elements that render (this
change would ensure that the backplanes show up in this set of
elements). This is tracked in  crbug.com/768079 .

Bug:  767883 
Change-Id: If4629cc449501e2e1b03fa20dc429e4198017df2
Reviewed-on: https://chromium-review.googlesource.com/679794
Commit-Queue: Ian Vollick <vollick@chromium.org>
Reviewed-by: Biao She <bshe@chromium.org>
Reviewed-by: Christopher Grant <cjgrant@chromium.org>
Reviewed-by: Yash Malik <ymalik@chromium.org>
Cr-Commit-Position: refs/heads/master@{#504133}
[modify] https://crrev.com/f81cf54a2cf8bbdc0f9e2b94442b53d61d40582a/chrome/browser/vr/BUILD.gn
[modify] https://crrev.com/f81cf54a2cf8bbdc0f9e2b94442b53d61d40582a/chrome/browser/vr/elements/exit_prompt_backplane.h
[modify] https://crrev.com/f81cf54a2cf8bbdc0f9e2b94442b53d61d40582a/chrome/browser/vr/elements/full_screen_rect.h
[add] https://crrev.com/f81cf54a2cf8bbdc0f9e2b94442b53d61d40582a/chrome/browser/vr/elements/invisible_hit_target.cc
[add] https://crrev.com/f81cf54a2cf8bbdc0f9e2b94442b53d61d40582a/chrome/browser/vr/elements/invisible_hit_target.h
[modify] https://crrev.com/f81cf54a2cf8bbdc0f9e2b94442b53d61d40582a/chrome/browser/vr/test/ui_scene_manager_test.cc
[modify] https://crrev.com/f81cf54a2cf8bbdc0f9e2b94442b53d61d40582a/chrome/browser/vr/test/ui_scene_manager_test.h
[modify] https://crrev.com/f81cf54a2cf8bbdc0f9e2b94442b53d61d40582a/chrome/browser/vr/ui_scene_manager.cc
[modify] https://crrev.com/f81cf54a2cf8bbdc0f9e2b94442b53d61d40582a/chrome/browser/vr/ui_scene_manager_unittest.cc

Status: Fixed (was: Assigned)
To see that this is working, move the reticle slightly off the web contents to either the right or left. We have a "backplane" there. Previously, if you hit this backplane, the reticle would suddenly stop rendering. If you can still see the reticle, this should be fixed.
Status: Verified (was: Fixed)
verified fixed in 63.0.3233.0

Sign in to add a comment