New issue
Advanced search Search tips

Issue 848883 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Jun 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug

Blocking:
issue 847615
issue 841020



Sign in to add a comment

ws: Mojo app window suppresses Ash accelerators when active

Project Member Reported by msw@chromium.org, Jun 1 2018

Issue description

ws: Mojo app window suppresses Ash accelerators when active
(1) Run cros/simplechrome with --keyboard-shortcut-viewer-app
(2) Open the KSV app, ensure the window is open and active
(3) Press CTRL-N and other global Ash accelerators
Expected: Ash accelerators work when the KSV app window is active.
Actual: Ash accelerators do not work when the KSV app window is active.

Related: the Search key doesn't open the AppList/Launcher.
It seems like function keys (eg. volume, switcher) work as expected.

(thanks for catching this, wutao@!)
 

Comment 1 by wutao@chromium.org, Jun 1 2018

Blocking: 847615

Comment 2 by msw@chromium.org, Jun 2 2018

Cc: sky@chromium.org
Scott, the app itself is apparently blocking Ash/Chrome from getting the CTRL-ALT-/ accelerator, any thoughts?

Comment 3 by sky@chromium.org, Jun 4 2018

Owner: sky@chromium.org
Status: Started (was: Available)
No doubt some further futzing with ClientWindowEventHandler/TopLevelEventHandler is required. I suspect the key-handling code needs to move to normal mode (not pre-target).
Project Member

Comment 4 by bugdroid1@chromium.org, Jun 5 2018

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

commit 1ab35304662a42a2d584522fcfa64f58538f4967
Author: Scott Violet <sky@chromium.org>
Date: Tue Jun 05 20:53:23 2018

Creates a test AcceleratorTarget implementation

We had accumulated quite a few test AcceleratorTarget implementations. This
patch adds one to ui/base:test_support and converts usage.

BUG= 848883 
TEST=test only changes

Change-Id: Icb543f1f0c20a9341510362493683f7eeed1b485
Reviewed-on: https://chromium-review.googlesource.com/1087534
Commit-Queue: Scott Violet <sky@chromium.org>
Reviewed-by: Michael Wasserman <msw@chromium.org>
Cr-Commit-Position: refs/heads/master@{#564658}
[modify] https://crrev.com/1ab35304662a42a2d584522fcfa64f58538f4967/ash/accelerators/accelerator_controller_unittest.cc
[modify] https://crrev.com/1ab35304662a42a2d584522fcfa64f58538f4967/ash/frame/custom_frame_view_ash_unittest.cc
[modify] https://crrev.com/1ab35304662a42a2d584522fcfa64f58538f4967/ash/shelf/back_button_unittest.cc
[modify] https://crrev.com/1ab35304662a42a2d584522fcfa64f58538f4967/ui/base/BUILD.gn
[modify] https://crrev.com/1ab35304662a42a2d584522fcfa64f58538f4967/ui/base/accelerators/accelerator_manager_unittest.cc
[add] https://crrev.com/1ab35304662a42a2d584522fcfa64f58538f4967/ui/base/accelerators/test_accelerator_target.cc
[add] https://crrev.com/1ab35304662a42a2d584522fcfa64f58538f4967/ui/base/accelerators/test_accelerator_target.h
[modify] https://crrev.com/1ab35304662a42a2d584522fcfa64f58538f4967/ui/views/focus/focus_manager_unittest.cc

Project Member

Comment 5 by bugdroid1@chromium.org, Jun 5 2018

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

commit d87ae09f1a68429cd41df87152abc4d8ac43ce19
Author: Scott Violet <sky@chromium.org>
Date: Tue Jun 05 21:37:21 2018

chromeos: gets post target accelerators working with ws2

Ash has two distinct phases for when accelerators are processed. The post
target phase handles accelerators such as control-n (new window).  Post
target accelerators are handled after the target is given a chance to handle
the accelerator. With the WindowService the post phase needs to wait until the
client responds with whether it handled the event or not.

This patch adds support for post-target processing of accelerators. Specifically,
when a KeyEvent is sent to the client, WindowServiceClient waits for the ack.
If the client did not process the event, then ws2 forwards the event to its
delegate. Ash's delegate implementation then forwards to the
acceleratorcontroller for post-target processing.

BUG= 848883 
TEST=covered by tests

Change-Id: I4b6a464b1752f3cb884e50ee52d4c0f2a106f3be
Reviewed-on: https://chromium-review.googlesource.com/1087545
Commit-Queue: Scott Violet <sky@chromium.org>
Reviewed-by: Xiyuan Xia <xiyuan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#564671}
[modify] https://crrev.com/d87ae09f1a68429cd41df87152abc4d8ac43ce19/ash/BUILD.gn
[add] https://crrev.com/d87ae09f1a68429cd41df87152abc4d8ac43ce19/ash/accelerators/README.md
[add] https://crrev.com/d87ae09f1a68429cd41df87152abc4d8ac43ce19/ash/accelerators/accelerator_unittest.cc
[modify] https://crrev.com/d87ae09f1a68429cd41df87152abc4d8ac43ce19/ash/test/ash_test_base.cc
[modify] https://crrev.com/d87ae09f1a68429cd41df87152abc4d8ac43ce19/ash/test/ash_test_base.h
[modify] https://crrev.com/d87ae09f1a68429cd41df87152abc4d8ac43ce19/ash/ws/window_service_delegate_impl.cc
[modify] https://crrev.com/d87ae09f1a68429cd41df87152abc4d8ac43ce19/ash/ws/window_service_delegate_impl.h
[modify] https://crrev.com/d87ae09f1a68429cd41df87152abc4d8ac43ce19/services/ui/ime/test_ime_driver/test_ime_driver.cc
[modify] https://crrev.com/d87ae09f1a68429cd41df87152abc4d8ac43ce19/services/ui/ws2/test_window_service_delegate.cc
[modify] https://crrev.com/d87ae09f1a68429cd41df87152abc4d8ac43ce19/services/ui/ws2/test_window_service_delegate.h
[modify] https://crrev.com/d87ae09f1a68429cd41df87152abc4d8ac43ce19/services/ui/ws2/test_window_tree_client.cc
[modify] https://crrev.com/d87ae09f1a68429cd41df87152abc4d8ac43ce19/services/ui/ws2/test_window_tree_client.h
[modify] https://crrev.com/d87ae09f1a68429cd41df87152abc4d8ac43ce19/services/ui/ws2/window_service_client.cc
[modify] https://crrev.com/d87ae09f1a68429cd41df87152abc4d8ac43ce19/services/ui/ws2/window_service_client.h
[modify] https://crrev.com/d87ae09f1a68429cd41df87152abc4d8ac43ce19/services/ui/ws2/window_service_client_test_helper.cc
[modify] https://crrev.com/d87ae09f1a68429cd41df87152abc4d8ac43ce19/services/ui/ws2/window_service_client_test_helper.h
[modify] https://crrev.com/d87ae09f1a68429cd41df87152abc4d8ac43ce19/services/ui/ws2/window_service_client_unittest.cc
[modify] https://crrev.com/d87ae09f1a68429cd41df87152abc4d8ac43ce19/services/ui/ws2/window_service_delegate.h
[modify] https://crrev.com/d87ae09f1a68429cd41df87152abc4d8ac43ce19/services/ui/ws2/window_service_test_setup.h
[modify] https://crrev.com/d87ae09f1a68429cd41df87152abc4d8ac43ce19/testing/buildbot/filters/mash.ash_unittests.filter

Comment 6 by sky@chromium.org, Jun 5 2018

Status: Fixed (was: Started)

Sign in to add a comment