During ash startup we register a slew of accelerators. As WMC::AddAccelerator() takes a single accelerator this means we have a fair amount of IPC traffic. It should take an array so that we can batch them up.
WindowManagerClient::AddAccelerator(): https://cs.chromium.org/chromium/src/services/ui/public/cpp/window_manager_delegate.h?sq=package:chromium&dr=CSs&rcl=1478708199&l=49
mojom: https://cs.chromium.org/chromium/src/services/ui/public/interfaces/window_manager.mojom?q=WindowManagerClient+file:mojom&sq=package:chromium&dr=C&l=105
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/62cbfb83c3ad3a8244d063d297a81fe6d9a32866 commit 62cbfb83c3ad3a8244d063d297a81fe6d9a32866 Author: thanhph <thanhph@chromium.org> Date: Sat Dec 03 01:08:03 2016 WindowManagerClient::AddAccelerator() should take an array. To reduce IPC calls between window_tree_client.cc and window_tree.cc. BUG= 632049 Review-Url: https://codereview.chromium.org/2520093003 Cr-Commit-Position: refs/heads/master@{#436115} [modify] https://crrev.com/62cbfb83c3ad3a8244d063d297a81fe6d9a32866/ash/mus/accelerators/accelerator_controller_registrar.cc [modify] https://crrev.com/62cbfb83c3ad3a8244d063d297a81fe6d9a32866/ash/mus/window_manager.cc [modify] https://crrev.com/62cbfb83c3ad3a8244d063d297a81fe6d9a32866/ash/mus/window_manager_application.cc [modify] https://crrev.com/62cbfb83c3ad3a8244d063d297a81fe6d9a32866/services/ui/common/BUILD.gn [rename] https://crrev.com/62cbfb83c3ad3a8244d063d297a81fe6d9a32866/services/ui/common/accelerator_util.cc [add] https://crrev.com/62cbfb83c3ad3a8244d063d297a81fe6d9a32866/services/ui/common/accelerator_util.h [delete] https://crrev.com/fe53f360120731ef49a48a314f843694e40a8659/services/ui/common/event_matcher_util.h [modify] https://crrev.com/62cbfb83c3ad3a8244d063d297a81fe6d9a32866/services/ui/public/cpp/window_manager_delegate.h [modify] https://crrev.com/62cbfb83c3ad3a8244d063d297a81fe6d9a32866/services/ui/public/cpp/window_tree_client.cc [modify] https://crrev.com/62cbfb83c3ad3a8244d063d297a81fe6d9a32866/services/ui/public/cpp/window_tree_client.h [modify] https://crrev.com/62cbfb83c3ad3a8244d063d297a81fe6d9a32866/services/ui/public/interfaces/window_manager.mojom [modify] https://crrev.com/62cbfb83c3ad3a8244d063d297a81fe6d9a32866/services/ui/ws/event_dispatcher.h [modify] https://crrev.com/62cbfb83c3ad3a8244d063d297a81fe6d9a32866/services/ui/ws/event_dispatcher_unittest.cc [modify] https://crrev.com/62cbfb83c3ad3a8244d063d297a81fe6d9a32866/services/ui/ws/window_manager_state.cc [modify] https://crrev.com/62cbfb83c3ad3a8244d063d297a81fe6d9a32866/services/ui/ws/window_manager_state_unittest.cc [modify] https://crrev.com/62cbfb83c3ad3a8244d063d297a81fe6d9a32866/services/ui/ws/window_tree.cc [modify] https://crrev.com/62cbfb83c3ad3a8244d063d297a81fe6d9a32866/services/ui/ws/window_tree.h [modify] https://crrev.com/62cbfb83c3ad3a8244d063d297a81fe6d9a32866/ui/aura/mus/DEPS [modify] https://crrev.com/62cbfb83c3ad3a8244d063d297a81fe6d9a32866/ui/aura/mus/window_tree_client.cc
Also change aura mus to take AddAccelerators instead of AddAccelerator in this following up patch. https://bugs.chromium.org/p/chromium/issues/detail?id=671229
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/68c719cc1ac847685d1a781ea00ef2b50761ad55 commit 68c719cc1ac847685d1a781ea00ef2b50761ad55 Author: thanhph <thanhph@chromium.org> Date: Mon Dec 05 22:24:11 2016 In aura mus, WindowManagerClient::AddAccelerator() should take an array. This is a follow up for https://codereview.chromium.org/2520093003/ BUG= 671229 , 632049 Review-Url: https://codereview.chromium.org/2552783002 Cr-Commit-Position: refs/heads/master@{#436424} [modify] https://crrev.com/68c719cc1ac847685d1a781ea00ef2b50761ad55/ui/aura/mus/window_manager_delegate.h [modify] https://crrev.com/68c719cc1ac847685d1a781ea00ef2b50761ad55/ui/aura/mus/window_tree_client.cc [modify] https://crrev.com/68c719cc1ac847685d1a781ea00ef2b50761ad55/ui/aura/mus/window_tree_client.h
Comment 1 by sky@chromium.org
, Jul 27 2016