Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(111)

Unified Diff: ash/common/accelerators/accelerator_controller.cc

Issue 2586333003: Make mash register initial batch of accelerators in single shot. (Closed)
Patch Set: Fix comments. Move inline function to .h Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: ash/common/accelerators/accelerator_controller.cc
diff --git a/ash/common/accelerators/accelerator_controller.cc b/ash/common/accelerators/accelerator_controller.cc
index 11471e730a1566759d07dc6e53c12c6147b1494f..910e2848aaec6000f71c301f6ca79a042b701834 100644
--- a/ash/common/accelerators/accelerator_controller.cc
+++ b/ash/common/accelerators/accelerator_controller.cc
@@ -549,10 +549,11 @@ AcceleratorController::AcceleratorController(
AcceleratorController::~AcceleratorController() {}
-void AcceleratorController::Register(const ui::Accelerator& accelerator,
- ui::AcceleratorTarget* target) {
+void AcceleratorController::Register(
+ const std::vector<ui::Accelerator>& accelerators,
+ ui::AcceleratorTarget* target) {
accelerator_manager_->Register(
- accelerator, ui::AcceleratorManager::kNormalPriority, target);
+ accelerators, ui::AcceleratorManager::kNormalPriority, target);
}
void AcceleratorController::Unregister(const ui::Accelerator& accelerator,
@@ -746,13 +747,15 @@ void AcceleratorController::Init() {
void AcceleratorController::RegisterAccelerators(
const AcceleratorData accelerators[],
size_t accelerators_length) {
+ std::vector<ui::Accelerator> ui_accelerators;
for (size_t i = 0; i < accelerators_length; ++i) {
ui::Accelerator accelerator =
CreateAccelerator(accelerators[i].keycode, accelerators[i].modifiers,
accelerators[i].trigger_on_press);
- Register(accelerator, this);
+ ui_accelerators.push_back(accelerator);
accelerators_.insert(std::make_pair(accelerator, accelerators[i].action));
}
+ Register(ui_accelerators, this);
}
void AcceleratorController::RegisterDeprecatedAccelerators() {
@@ -762,16 +765,18 @@ void AcceleratorController::RegisterDeprecatedAccelerators() {
actions_with_deprecations_[data->action] = data;
}
+ std::vector<ui::Accelerator> ui_accelerators;
for (size_t i = 0; i < kDeprecatedAcceleratorsLength; ++i) {
const AcceleratorData& accelerator_data = kDeprecatedAccelerators[i];
const ui::Accelerator deprecated_accelerator =
CreateAccelerator(accelerator_data.keycode, accelerator_data.modifiers,
accelerator_data.trigger_on_press);
- Register(deprecated_accelerator, this);
+ ui_accelerators.push_back(deprecated_accelerator);
accelerators_[deprecated_accelerator] = accelerator_data.action;
deprecated_accelerators_.insert(deprecated_accelerator);
}
+ Register(ui_accelerators, this);
#endif // defined(OS_CHROMEOS)
}
« no previous file with comments | « ash/common/accelerators/accelerator_controller.h ('k') | ash/mus/accelerators/accelerator_controller_registrar.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698