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

Unified Diff: ash/shell.cc

Issue 1138523006: Enable keyboard accelerators while a menu is open (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Nits Created 5 years, 4 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/shell.cc
diff --git a/ash/shell.cc b/ash/shell.cc
index ef3686085518ff1135d95edc0e8bdbc45fcd4ba7..9cfb39edb4dd3f893a6d3ee49fb1fc5ba5b95d19 100644
--- a/ash/shell.cc
+++ b/ash/shell.cc
@@ -9,6 +9,7 @@
#include "ash/accelerators/accelerator_controller.h"
#include "ash/accelerators/accelerator_delegate.h"
+#include "ash/accelerators/ash_menu_event_filter_delegate.h"
#include "ash/accelerators/focus_manager_factory.h"
#include "ash/accelerators/nested_accelerator_delegate.h"
#include "ash/ash_switches.h"
@@ -101,6 +102,7 @@
#include "ui/keyboard/keyboard_switches.h"
#include "ui/keyboard/keyboard_util.h"
#include "ui/message_center/message_center.h"
+#include "ui/views/controls/menu/menu_event_filter.h"
#include "ui/views/corewm/tooltip_aura.h"
#include "ui/views/corewm/tooltip_controller.h"
#include "ui/views/focus/focus_manager_factory.h"
@@ -920,6 +922,9 @@ void Shell::Init(const ShellInitParams& init_params) {
nested_accelerator_controller_.reset(
new ::wm::NestedAcceleratorController(new NestedAcceleratorDelegate));
accelerator_controller_.reset(new AcceleratorController);
+
+ menu_event_filter_delegate_.reset(new AshMenuEventFilterDelegate);
oshima 2015/09/02 17:08:21 can you reset this in reverse order?
afakhry 2015/09/02 18:18:38 I used this order since AshMenuEventFilterDelegate
+
maximize_mode_controller_.reset(new MaximizeModeController());
AddPreTargetHandler(window_tree_host_manager_->input_method_event_handler());
@@ -1136,6 +1141,9 @@ void Shell::InitRootWindow(aura::Window* root_window) {
aura::client::SetDispatcherClient(root_window,
nested_accelerator_controller_.get());
}
+
+ views::MenuEventFilter::SetMenuEventFilterDelegate(
+ root_window, menu_event_filter_delegate_.get());
}
bool Shell::CanWindowReceiveEvents(aura::Window* window) {

Powered by Google App Engine
This is Rietveld 408576698