Chromium Code Reviews| Index: ash/accelerators/accelerator_controller.cc |
| diff --git a/ash/accelerators/accelerator_controller.cc b/ash/accelerators/accelerator_controller.cc |
| index 51417661cfb5cee0c6204a0b246ff28421c8ba96..f790595256e6bb34a3600cb83049dc344b68943e 100644 |
| --- a/ash/accelerators/accelerator_controller.cc |
| +++ b/ash/accelerators/accelerator_controller.cc |
| @@ -720,6 +720,19 @@ void AcceleratorController::SetScreenshotDelegate( |
| screenshot_delegate_ = screenshot_delegate.Pass(); |
| } |
| +bool AcceleratorController::ShouldCloseMenuAndRepostAccelerator( |
| + const ui::Accelerator& accelerator) const { |
| + auto itr = accelerators_.find(accelerator); |
| + if (itr == accelerators_.end()) |
| + return false; // Menu shouldn't be closed for an invalid accelerator. |
| + |
| + AcceleratorAction action = itr->second; |
| + if (actions_keeping_menu_open_.count(action)) |
|
pkotwicz
2015/08/27 17:19:55
How about:
return actions_keeping_menu_open_.count
afakhry
2015/08/28 01:24:41
Much better! Done. Thanks! :)
|
| + return false; |
| + |
| + return true; |
| +} |
| + |
| //////////////////////////////////////////////////////////////////////////////// |
| // AcceleratorController, ui::AcceleratorTarget implementation: |
| @@ -764,6 +777,8 @@ void AcceleratorController::Init() { |
| actions_allowed_in_app_mode_.insert(kActionsAllowedInAppMode[i]); |
| for (size_t i = 0; i < kActionsNeedingWindowLength; ++i) |
| actions_needing_window_.insert(kActionsNeedingWindow[i]); |
| + for (size_t i = 0; i < kActionsKeepingMenuOpenLength; ++i) |
| + actions_keeping_menu_open_.insert(kActionsKeepingMenuOpen[i]); |
| RegisterAccelerators(kAcceleratorData, kAcceleratorDataLength); |