New issue
Advanced search Search tips

Issue 670452 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner:
Closed: Jan 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 2
Type: Bug
Proj-VR
Proj-XR
Proj-XR-VR



Sign in to add a comment

Handle links that open in a new window.

Project Member Reported by mthiesse@chromium.org, Dec 1 2016

Issue description

Either we should prevent links opening in a new window (force them into the  current window), or implement very basic foreground tab switching.
 
Forcing them into the current window would break Web platform conventions so I don't think we want to do that.

I'm not sure how basic we can make basic tab switching -- certainly we could change focus to the new tab upon opening a link in a new window, but then we'd have to deal with how the user gets back, and that feels like we quickly get to having the full menu.

In the short-short term until we have the full Chrome menu features including tab stack, etc., I'd be okay with just disallowing open-in-new-window. 
Labels: -OS-Android OS-All
Can we open the new window but not show it? In other words, it is a new tab in Chrome but it's not visible in VR shell (in the short-term).
Basic tab switching would actually be quite trivial if our backend supports swapping web contents (which it will probably have to to support webcontents crashing or getting deleted).

We don't even need any UI around this. On Android when you open in a new tab it's transparent to the user outside of the little number in the corner, and to return to the old tab you just hit back, which closes the new tab. All we need to do is detect when clank has switched the tab and respond to that, and it should just work.
I actually expect it will be more difficult to do as you (skonig) or ddorwin suggest.
Oh for sure, if we can support this trivially then we should.

Comment 6 by xing...@intel.com, Jan 4 2017

Cc: xing...@intel.com

Comment 7 by xing...@intel.com, Jan 4 2017

I think open multiple windows in VR world will be a fancy feature, but will lie heavy burden on chrome android, both in memory and performance.
In chrome android, there is only one webcontent and one compositor in active status at any time. When switch between tabs(webcontents), compositor will not be switched, but webcontents.

Even after VrShell introduced the VRCompositor, there is only one active compositor.

But, think about we open 6 new windows, distributing them among a hexagonal prisms. More memory will be required than non-webvr mode because there is more Compositor here. And performance? Maybe we can only update the window user is looking at?




This bug does not cover any plans to open and display multiple windows at once. For now the new window will simply replace the previous one, and restore the previous one on closing. This shouldn't have any impact on performance for now.
Issue 683348 has been merged into this issue.
Owner: mthiesse@chromium.org
Status: Assigned (was: Available)
Project Member

Comment 11 by bugdroid1@chromium.org, Jan 26 2017

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

commit 027ca1e1259f228e14ad253169ef0263963122fe
Author: mthiesse <mthiesse@chromium.org>
Date: Thu Jan 26 16:54:05 2017

Swap to foreground tab when following links that open in a new tab/window in VR Shell.

This implements basic tab switching functionality for VR Shell to switch to the foreground tab.
Currently no UI indicates that this has happened, and no UI has been created to allow for tab switching in any case other than opening links in a new window.

BUG= 670452 

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

[modify] https://crrev.com/027ca1e1259f228e14ad253169ef0263963122fe/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrShell.java
[modify] https://crrev.com/027ca1e1259f228e14ad253169ef0263963122fe/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrShellDelegate.java
[modify] https://crrev.com/027ca1e1259f228e14ad253169ef0263963122fe/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrShellImpl.java
[modify] https://crrev.com/027ca1e1259f228e14ad253169ef0263963122fe/chrome/browser/android/vr_shell/vr_compositor.cc
[modify] https://crrev.com/027ca1e1259f228e14ad253169ef0263963122fe/chrome/browser/android/vr_shell/vr_compositor.h
[modify] https://crrev.com/027ca1e1259f228e14ad253169ef0263963122fe/chrome/browser/android/vr_shell/vr_input_manager.cc
[modify] https://crrev.com/027ca1e1259f228e14ad253169ef0263963122fe/chrome/browser/android/vr_shell/vr_input_manager.h
[modify] https://crrev.com/027ca1e1259f228e14ad253169ef0263963122fe/chrome/browser/android/vr_shell/vr_shell.cc
[modify] https://crrev.com/027ca1e1259f228e14ad253169ef0263963122fe/chrome/browser/android/vr_shell/vr_shell.h
[modify] https://crrev.com/027ca1e1259f228e14ad253169ef0263963122fe/chrome/browser/android/vr_shell/vr_shell_gl.cc
[modify] https://crrev.com/027ca1e1259f228e14ad253169ef0263963122fe/chrome/browser/android/vr_shell/vr_shell_gl.h
[modify] https://crrev.com/027ca1e1259f228e14ad253169ef0263963122fe/chrome/browser/android/vr_shell/vr_web_contents_observer.cc
[modify] https://crrev.com/027ca1e1259f228e14ad253169ef0263963122fe/chrome/browser/android/vr_shell/vr_web_contents_observer.h

Status: Fixed (was: Assigned)

Sign in to add a comment