| Index: ash/accelerators/accelerator_controller.cc
|
| diff --git a/ash/accelerators/accelerator_controller.cc b/ash/accelerators/accelerator_controller.cc
|
| index 23fa5d27f031f5feb927e843388b2b2334fe2509..b3309d24f12a9c6a67844a71793dd659f9cbd2aa 100644
|
| --- a/ash/accelerators/accelerator_controller.cc
|
| +++ b/ash/accelerators/accelerator_controller.cc
|
| @@ -921,6 +921,8 @@ void AcceleratorController::Init() {
|
| actions_needing_window_.insert(kActionsNeedingWindow[i]);
|
| for (size_t i = 0; i < kActionsKeepingMenuOpenLength; ++i)
|
| actions_keeping_menu_open_.insert(kActionsKeepingMenuOpen[i]);
|
| + for (size_t i = 0; i < kActionsAllowedInPinnedModeLength; ++i)
|
| + actions_allowed_in_pinned_mode_.insert(kActionsAllowedInPinnedMode[i]);
|
|
|
| RegisterAccelerators(kAcceleratorData, kAcceleratorDataLength);
|
|
|
| @@ -1399,6 +1401,11 @@ bool AcceleratorController::ShouldActionConsumeKeyEvent(
|
|
|
| AcceleratorController::AcceleratorProcessingRestriction
|
| AcceleratorController::GetAcceleratorProcessingRestriction(int action) {
|
| + if (WmShell::Get()->IsPinned() &&
|
| + actions_allowed_in_pinned_mode_.find(action) ==
|
| + actions_allowed_in_pinned_mode_.end()) {
|
| + return RESTRICTION_PREVENT_PROCESSING_AND_PROPAGATION;
|
| + }
|
| ash::Shell* shell = ash::Shell::GetInstance();
|
| if (!shell->session_state_delegate()->IsActiveUserSessionStarted() &&
|
| actions_allowed_at_login_screen_.find(action) ==
|
|
|