Commit cc16d704 authored by Jacob Dufault's avatar Jacob Dufault Committed by Commit Bot

cros: Do not enable login-screen shortcuts on lock.

Calling the shortcut may cause chrome to crash, as the chrome-side handler
assumes the login screen is active.

Bug: 875778
Change-Id: Ib297d5239c9198d0cd047bd2b5e240dbc1d49ca8
Reviewed-on: https://chromium-review.googlesource.com/1182184Reviewed-by: default avatarXiyuan Xia <xiyuan@chromium.org>
Commit-Queue: Jacob Dufault <jdufault@chromium.org>
Cr-Commit-Position: refs/heads/master@{#584577}
parent bc90fa26
......@@ -1631,21 +1631,27 @@ void LockContentsView::DisableLockScreenNote() {
}
void LockContentsView::RegisterAccelerators() {
// TODO: Add more accelerators that are applicable to login screen.
accel_map_[ui::Accelerator(ui::VKEY_I, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN)] =
AcceleratorAction::kShowFeedback;
// Accelerators that apply on login and lock:
accel_map_[ui::Accelerator(ui::VKEY_RIGHT, 0)] =
AcceleratorAction::kFocusNextUser;
accel_map_[ui::Accelerator(ui::VKEY_LEFT, 0)] =
AcceleratorAction::kFocusPreviousUser;
// Show reset conflicts with rotate screen when --ash-dev-shortcuts is passed.
// Favor --ash-dev-shortcuts since that is explicitly added.
if (!base::CommandLine::ForCurrentProcess()->HasSwitch(
switches::kAshDeveloperShortcuts)) {
accel_map_[ui::Accelerator(
ui::VKEY_R, ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN |
ui::EF_ALT_DOWN)] = AcceleratorAction::kShowResetScreen;
// Login-only accelerators:
if (screen_type_ == LockScreen::ScreenType::kLogin) {
accel_map_[ui::Accelerator(ui::VKEY_I,
ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN)] =
AcceleratorAction::kShowFeedback;
// Show reset conflicts with rotate screen when --ash-dev-shortcuts is
// passed. Favor --ash-dev-shortcuts since that is explicitly added.
if (!base::CommandLine::ForCurrentProcess()->HasSwitch(
switches::kAshDeveloperShortcuts)) {
accel_map_[ui::Accelerator(ui::VKEY_R, ui::EF_CONTROL_DOWN |
ui::EF_SHIFT_DOWN |
ui::EF_ALT_DOWN)] =
AcceleratorAction::kShowResetScreen;
}
}
AcceleratorController* controller = Shell::Get()->accelerator_controller();
......
......@@ -1821,7 +1821,7 @@ TEST_F(LockContentsViewKeyboardUnitTest, UserSwapFocusesBigView) {
TEST_F(LockContentsViewUnitTest, PowerwashShortcutSendsMojoCall) {
auto* contents = new LockContentsView(
mojom::TrayActionState::kNotAvailable, LockScreen::ScreenType::kLock,
mojom::TrayActionState::kNotAvailable, LockScreen::ScreenType::kLogin,
data_dispatcher(),
std::make_unique<FakeLoginDetachableBaseModel>(data_dispatcher()));
SetUserCount(1);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment