New issue
Advanced search Search tips

Issue 748844 link

Starred by 1 user

Issue metadata

Status: WontFix
Owner: ----
Closed: Jul 2017
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 3
Type: Bug



Sign in to add a comment

Alt + Tab won't be able to send to fullscreen browser window

Project Member Reported by zijiehe@chromium.org, Jul 26 2017

Issue description

Chrome Version: 61.0.3159.8 (Official Build) dev (64-bit)
OS: ChromeOS

What steps will reproduce the problem?
(1) Open a new browser window and fullscreen a tab by either F11 or Element.webkitRequestFullscreen().
(2) Open web page to preventDefault() all keydown events. For example, https://cs.chromium.org/chromium/src/chrome/test/data/fullscreen_keyboardlock.html?q=fullscreen_keyboard&sq=package:chromium&l=1 or http://unixpapa.com/js/testkey.html.
(3) Press Alt+Tab or Shift+Alt+Tab

What is the expected result?

Alt+Tab can be captured by web page.

What happens instead?

The web page cannot receive the key events.

Note, fullscreen app window can receive these events.

Two suspicious lines,
  - Shell::GetAllRootWindows(),
https://cs.chromium.org/chromium/src/ash/accelerators/accelerator_router.cc?rcl=95934a8a6c05e3702fdfa08bd81243516817f0ac&l=107
Is the browser window always the root window?

  - wm::GetWindowState(top_level)->IsFullscreen()
https://cs.chromium.org/chromium/src/ash/accelerators/accelerator_router.cc?rcl=95934a8a6c05e3702fdfa08bd81243516817f0ac&l=119
Can wm return the correct state of a browser window?
 
The root window is a container aura::Window, not a browser window. It contains a hierarchy of containers. One of the containers contains browser windows. See various container IDs in https://cs.chromium.org/chromium/src/ash/public/cpp/shell_window_ids.h?q=shell_window_ids&sq=package:chromium&l=5

IsFullscreen() should correctly return the fullscreen status of a window. If it does not, that's a bug. However, I'm pretty sure it is behaving correctly. See email thread.

Status: WontFix (was: Untriaged)
This is a false-alarm. Mitsuru Oshima (oshima@) pointed out that the browser window actively rejects the Alt-Tab from being handled by web page.

The original mail thread is,

Ash does send alt-tab to fullscreen *window*, so the documentation is correct. It's up to the client (in this case, app window, browser window etc) implementation what to do with these
keys. Whether or not these clients send to web contents is outside of the ash control and different question.

Browser sends alt-tab if it's V1 app. I believe we did this for CRD because old CRD was v1 app before. Please see:
https://cs.chromium.org/chromium/src/chrome/browser/ui/views/frame/browser_view.cc?rcl=a3cf4d27ce27706c9cb253216a98f0bafd20096e&l=1299

Sign in to add a comment