diff options
author | suzhe@chromium.org <suzhe@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-08-04 19:48:19 +0000 |
---|---|---|
committer | suzhe@chromium.org <suzhe@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-08-04 19:48:19 +0000 |
commit | ee19cb20c9c5a0354d145a6a1ca950797b7cd3aa (patch) | |
tree | 66a1f65060e653ff2a817c73c62505caee94b65f /views/focus/accelerator_handler.h | |
parent | e5a8c47bda7fe8e3d8491fdd74cd166da02b8a7b (diff) | |
download | chromium_src-ee19cb20c9c5a0354d145a6a1ca950797b7cd3aa.zip chromium_src-ee19cb20c9c5a0354d145a6a1ca950797b7cd3aa.tar.gz chromium_src-ee19cb20c9c5a0354d145a6a1ca950797b7cd3aa.tar.bz2 |
[Linux Views] Refactor accelerator handler related code.
This CL removes the accelerator handling logic in
accelerator_handler_gtk.cc and implements a much simpler solution in
WidgetGtk. The new approach always sends a key event to the focused View
and native GtkWidget first and only sends it to the focus manager if it's not
handled by any View or native GtkWidget.
BUG=23383 AcceleratorHandler on Windows should not dispatch the KEYUP messages eaten by the FocusManager
BUG=40966 BrowserKeyEventsTest.AccessKeys is crashy
BUG=49701 [Linux Views]Some Emacs keybindings are broken in omnibox and find in page box.
TEST=Press Alt key in different place (web page, omnibox, find bar, etc.) to see if menu bar can be focused correctly. Press alt-F to popup wrench menu and Escape to close it, then try alt key again.
Review URL: http://codereview.chromium.org/3046041
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54947 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'views/focus/accelerator_handler.h')
-rw-r--r-- | views/focus/accelerator_handler.h | 11 |
1 files changed, 0 insertions, 11 deletions
diff --git a/views/focus/accelerator_handler.h b/views/focus/accelerator_handler.h index 6140d364..3726d96 100644 --- a/views/focus/accelerator_handler.h +++ b/views/focus/accelerator_handler.h @@ -35,17 +35,6 @@ class AcceleratorHandler : public MessageLoopForUI::Dispatcher { #if defined(OS_WIN) // The keys currently pressed and consumed by the FocusManager. std::set<WPARAM> pressed_keys_; -#else // OS_LINUX - // The set of hardware keycodes that are currently pressed. We use this - // to keep track of whether or not a key is being pressed in isolation - // or not. We must use hardware keycodes because higher-level keycodes - // may change between press and release depending on what modifier keys - // are pressed in the interim. - std::set<int> pressed_hardware_keys_; - // The set of vkey codes that were consumed by the FocusManager. - std::set<int> consumed_vkeys_; - // True if only the menu key (Alt key) was pressed, and no other keys. - bool only_menu_pressed_; #endif DISALLOW_COPY_AND_ASSIGN(AcceleratorHandler); |