- start chrome with --enable-features=SingleProcessMash
- open a file browser, set the keyboard focus on it
- hit ctrl-n
expected:
- a new file-browser window opens
what I see:
- a new browser window and a new file-browser windwo open at the same time
It seems this is happening because the key event is processed by the file browser window (its web-contents), however the key event isn't marked as stopped_propagation(), therefore InputMethodDelegate invokes ack_callback with false (https://cs.chromium.org/chromium/src/ui/base/ime/input_method_delegate.cc?q=ui/base/ime/input_method_delegate&sq=package:chromium&g=0&l=18), which causes WindowServiceDelegateImpl::OnUnhandledKeyEvent() which invokes Ash's accelerator (https://cs.chromium.org/chromium/src/ash/ws/window_service_delegate_impl.cc?q=ash/ws/window_service_delegate&sq=package:chromium&g=0&l=96).
Changing InputMethodDelegate to use event->handled() instead of stopped_propagation() isn't a good idea since some other accelerators (like Ctrl-t) will be stopped unexpectedly.
This symptom is also highly related to BrowserCommandControllerInteractiveTest failures. Once this gets fixed, BrowserCommandControllerInteractiveTest will pass again.
Comment 1 by sky@chromium.org
, Oct 2