summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ash/accelerators/accelerator_controller.cc4
-rw-r--r--ash/accelerators/accelerator_table.cc169
-rw-r--r--ash/accelerators/accelerator_table.h4
-rw-r--r--ash/accelerators/accelerator_table_unittest.cc11
-rw-r--r--chrome/browser/ui/views/accelerator_table.cc224
-rw-r--r--chrome/browser/ui/views/accelerator_table.h4
-rw-r--r--chrome/browser/ui/views/accelerator_table_unittest.cc21
-rw-r--r--chrome/browser/ui/views/frame/browser_view.cc4
-rw-r--r--chrome/browser/ui/views/keyboard_overlay_dialog_view.cc23
9 files changed, 235 insertions, 229 deletions
diff --git a/ash/accelerators/accelerator_controller.cc b/ash/accelerators/accelerator_controller.cc
index 3cf288f..8ad8a89 100644
--- a/ash/accelerators/accelerator_controller.cc
+++ b/ash/accelerators/accelerator_controller.cc
@@ -195,9 +195,7 @@ void AcceleratorController::Init() {
for (size_t i = 0; i < kAcceleratorDataLength; ++i) {
ui::Accelerator accelerator(kAcceleratorData[i].keycode,
- kAcceleratorData[i].shift,
- kAcceleratorData[i].ctrl,
- kAcceleratorData[i].alt);
+ kAcceleratorData[i].modifiers);
accelerator.set_type(kAcceleratorData[i].trigger_on_press ?
ui::ET_KEY_PRESSED : ui::ET_KEY_RELEASED);
Register(accelerator, this);
diff --git a/ash/accelerators/accelerator_table.cc b/ash/accelerators/accelerator_table.cc
index 88e2ccd..225ad90 100644
--- a/ash/accelerators/accelerator_table.cc
+++ b/ash/accelerators/accelerator_table.cc
@@ -5,73 +5,80 @@
#include "ash/accelerators/accelerator_table.h"
#include "base/basictypes.h"
+#include "ui/base/events.h"
namespace ash {
const AcceleratorData kAcceleratorData[] = {
- // trigger_on_press, KeyboardCode, shift, control, alt, AcceleratorAction
-
- { false, ui::VKEY_MENU, true, false, true, NEXT_IME },
- { false, ui::VKEY_SHIFT, true, false, true, NEXT_IME },
- { true, ui::VKEY_SPACE, false, true, false, PREVIOUS_IME },
+ { false, ui::VKEY_MENU, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, NEXT_IME },
+ { false, ui::VKEY_SHIFT, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, NEXT_IME },
+ { true, ui::VKEY_SPACE, ui::EF_CONTROL_DOWN, PREVIOUS_IME },
// Shortcuts for Japanese IME.
- { true, ui::VKEY_CONVERT, false, false, false, SWITCH_IME },
- { true, ui::VKEY_NONCONVERT, false, false, false, SWITCH_IME },
- { true, ui::VKEY_DBE_SBCSCHAR, false, false, false, SWITCH_IME },
- { true, ui::VKEY_DBE_DBCSCHAR, false, false, false, SWITCH_IME },
+ { true, ui::VKEY_CONVERT, ui::EF_NONE, SWITCH_IME },
+ { true, ui::VKEY_NONCONVERT, ui::EF_NONE, SWITCH_IME },
+ { true, ui::VKEY_DBE_SBCSCHAR, ui::EF_NONE, SWITCH_IME },
+ { true, ui::VKEY_DBE_DBCSCHAR, ui::EF_NONE, SWITCH_IME },
// Shortcuts for Koren IME.
- { true, ui::VKEY_HANGUL, false, false, false, SWITCH_IME },
- { true, ui::VKEY_SPACE, true, false, false, SWITCH_IME },
+ { true, ui::VKEY_HANGUL, ui::EF_NONE, SWITCH_IME },
+ { true, ui::VKEY_SPACE, ui::EF_SHIFT_DOWN, SWITCH_IME },
- { true, ui::VKEY_TAB, false, false, true, CYCLE_FORWARD_MRU },
- { true, ui::VKEY_TAB, true, false, true, CYCLE_BACKWARD_MRU },
- { true, ui::VKEY_F5, false, false, false, CYCLE_FORWARD_LINEAR },
+ { true, ui::VKEY_TAB,
+ ui::EF_ALT_DOWN, CYCLE_FORWARD_MRU },
+ { true, ui::VKEY_TAB, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN,
+ CYCLE_BACKWARD_MRU },
+ { true, ui::VKEY_F5, ui::EF_NONE, CYCLE_FORWARD_LINEAR },
#if defined(OS_CHROMEOS)
- { true, ui::VKEY_BRIGHTNESS_DOWN, false, false, false, BRIGHTNESS_DOWN },
- { true, ui::VKEY_BRIGHTNESS_UP, false, false, false, BRIGHTNESS_UP },
- { true, ui::VKEY_L, true, true, false, LOCK_SCREEN },
- { true, ui::VKEY_M, false, true, false, OPEN_FILE_MANAGER },
- { true, ui::VKEY_T, false, true, true, OPEN_CROSH },
+ { true, ui::VKEY_BRIGHTNESS_DOWN, ui::EF_NONE, BRIGHTNESS_DOWN },
+ { true, ui::VKEY_BRIGHTNESS_UP, ui::EF_NONE, BRIGHTNESS_UP },
+ { true, ui::VKEY_L, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, LOCK_SCREEN },
+ { true, ui::VKEY_M, ui::EF_CONTROL_DOWN, OPEN_FILE_MANAGER },
+ { true, ui::VKEY_T, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, OPEN_CROSH },
#endif
- { true, ui::VKEY_Q, true, true, false, EXIT },
- { true, ui::VKEY_Z, false, true, true, TOGGLE_SPOKEN_FEEDBACK },
+ { true, ui::VKEY_Q, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, EXIT },
+ { true, ui::VKEY_Z, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN,
+ TOGGLE_SPOKEN_FEEDBACK },
// When you change the shortcut for NEW_INCOGNITO_WINDOW or NEW_WINDOW,
// you also need to modify ToolbarView::GetAcceleratorForCommandId() in
// chrome/browser/ui/views/toolbar_view.cc.
- { true, ui::VKEY_N, true, true, false, NEW_INCOGNITO_WINDOW },
- { true, ui::VKEY_N, false, true, false, NEW_WINDOW },
+ { true, ui::VKEY_N, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN,
+ NEW_INCOGNITO_WINDOW },
+ { true, ui::VKEY_N, ui::EF_CONTROL_DOWN, NEW_WINDOW },
- { true, ui::VKEY_F5, true, false, false, CYCLE_BACKWARD_LINEAR },
- { true, ui::VKEY_F5, false, true, false, TAKE_SCREENSHOT },
- { true, ui::VKEY_F5, true, true, false, TAKE_PARTIAL_SCREENSHOT },
- { true, ui::VKEY_PRINT, false, false, false, TAKE_SCREENSHOT },
+ { true, ui::VKEY_F5, ui::EF_SHIFT_DOWN, CYCLE_BACKWARD_LINEAR },
+ { true, ui::VKEY_F5, ui::EF_CONTROL_DOWN, TAKE_SCREENSHOT },
+ { true, ui::VKEY_F5, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN,
+ TAKE_PARTIAL_SCREENSHOT },
+ { true, ui::VKEY_PRINT, ui::EF_NONE, TAKE_SCREENSHOT },
// On Chrome OS, Search key is mapped to LWIN.
- { true, ui::VKEY_LWIN, false, false, false, SEARCH_KEY },
- { true, ui::VKEY_LWIN, false, true, false, TOGGLE_APP_LIST },
- { true, ui::VKEY_LWIN, true, false, false, TOGGLE_CAPS_LOCK },
- { true, ui::VKEY_F6, false, false, false, BRIGHTNESS_DOWN },
- { true, ui::VKEY_F7, false, false, false, BRIGHTNESS_UP },
- { true, ui::VKEY_F8, false, false, false, VOLUME_MUTE },
- { true, ui::VKEY_VOLUME_MUTE, false, false, false, VOLUME_MUTE },
- { true, ui::VKEY_F9, false, false, false, VOLUME_DOWN },
- { true, ui::VKEY_VOLUME_DOWN, false, false, false, VOLUME_DOWN },
- { true, ui::VKEY_F10, false, false, false, VOLUME_UP },
- { true, ui::VKEY_VOLUME_UP, false, false, false, VOLUME_UP },
- { true, ui::VKEY_L, true, false, true, FOCUS_LAUNCHER },
- { true, ui::VKEY_S, true, false, true, FOCUS_TRAY },
- { true, ui::VKEY_OEM_2, false, true, true, SHOW_KEYBOARD_OVERLAY },
- { true, ui::VKEY_OEM_2, true, true, true, SHOW_KEYBOARD_OVERLAY },
- { true, ui::VKEY_F1, true, true, false, SHOW_OAK },
- { true, ui::VKEY_1, false, false, true, SELECT_WIN_0 },
- { true, ui::VKEY_2, false, false, true, SELECT_WIN_1 },
- { true, ui::VKEY_3, false, false, true, SELECT_WIN_2 },
- { true, ui::VKEY_4, false, false, true, SELECT_WIN_3 },
- { true, ui::VKEY_5, false, false, true, SELECT_WIN_4 },
- { true, ui::VKEY_6, false, false, true, SELECT_WIN_5 },
- { true, ui::VKEY_7, false, false, true, SELECT_WIN_6 },
- { true, ui::VKEY_8, false, false, true, SELECT_WIN_7 },
- { true, ui::VKEY_9, false, false, true, SELECT_LAST_WIN },
+ { true, ui::VKEY_LWIN, ui::EF_NONE, SEARCH_KEY },
+ { true, ui::VKEY_LWIN, ui::EF_CONTROL_DOWN, TOGGLE_APP_LIST },
+ { true, ui::VKEY_LWIN, ui::EF_SHIFT_DOWN, TOGGLE_CAPS_LOCK },
+ { true, ui::VKEY_F6, ui::EF_NONE, BRIGHTNESS_DOWN },
+ { true, ui::VKEY_F7, ui::EF_NONE, BRIGHTNESS_UP },
+ { true, ui::VKEY_F8, ui::EF_NONE, VOLUME_MUTE },
+ { true, ui::VKEY_VOLUME_MUTE, ui::EF_NONE, VOLUME_MUTE },
+ { true, ui::VKEY_F9, ui::EF_NONE, VOLUME_DOWN },
+ { true, ui::VKEY_VOLUME_DOWN, ui::EF_NONE, VOLUME_DOWN },
+ { true, ui::VKEY_F10, ui::EF_NONE, VOLUME_UP },
+ { true, ui::VKEY_VOLUME_UP, ui::EF_NONE, VOLUME_UP },
+ { true, ui::VKEY_L, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, FOCUS_LAUNCHER },
+ { true, ui::VKEY_S, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, FOCUS_TRAY },
+ { true, ui::VKEY_OEM_2, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN,
+ SHOW_KEYBOARD_OVERLAY },
+ { true, ui::VKEY_OEM_2,
+ ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN,
+ SHOW_KEYBOARD_OVERLAY },
+ { true, ui::VKEY_F1, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, SHOW_OAK },
+ { true, ui::VKEY_1, ui::EF_ALT_DOWN, SELECT_WIN_0 },
+ { true, ui::VKEY_2, ui::EF_ALT_DOWN, SELECT_WIN_1 },
+ { true, ui::VKEY_3, ui::EF_ALT_DOWN, SELECT_WIN_2 },
+ { true, ui::VKEY_4, ui::EF_ALT_DOWN, SELECT_WIN_3 },
+ { true, ui::VKEY_5, ui::EF_ALT_DOWN, SELECT_WIN_4 },
+ { true, ui::VKEY_6, ui::EF_ALT_DOWN, SELECT_WIN_5 },
+ { true, ui::VKEY_7, ui::EF_ALT_DOWN, SELECT_WIN_6 },
+ { true, ui::VKEY_8, ui::EF_ALT_DOWN, SELECT_WIN_7 },
+ { true, ui::VKEY_9, ui::EF_ALT_DOWN, SELECT_LAST_WIN },
// We need the number keys with and without shift since the French keyboard
// does not have explicit number keys. Instead they have to press
@@ -79,38 +86,44 @@ const AcceleratorData kAcceleratorData[] = {
// functionality, we should think about either assembling this table
// dynamically - or by decoding the keys properly (which is of course in
// conflict with other keyboards since the Shift+ is missing then).
- { true, ui::VKEY_1, true, false, true, SELECT_WIN_0 },
- { true, ui::VKEY_2, true, false, true, SELECT_WIN_1 },
- { true, ui::VKEY_3, true, false, true, SELECT_WIN_2 },
- { true, ui::VKEY_4, true, false, true, SELECT_WIN_3 },
- { true, ui::VKEY_5, true, false, true, SELECT_WIN_4 },
- { true, ui::VKEY_6, true, false, true, SELECT_WIN_5 },
- { true, ui::VKEY_7, true, false, true, SELECT_WIN_6 },
- { true, ui::VKEY_8, true, false, true, SELECT_WIN_7 },
- { true, ui::VKEY_9, true, false, true, SELECT_LAST_WIN },
+ { true, ui::VKEY_1, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, SELECT_WIN_0 },
+ { true, ui::VKEY_2, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, SELECT_WIN_1 },
+ { true, ui::VKEY_3, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, SELECT_WIN_2 },
+ { true, ui::VKEY_4, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, SELECT_WIN_3 },
+ { true, ui::VKEY_5, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, SELECT_WIN_4 },
+ { true, ui::VKEY_6, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, SELECT_WIN_5 },
+ { true, ui::VKEY_7, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, SELECT_WIN_6 },
+ { true, ui::VKEY_8, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, SELECT_WIN_7 },
+ { true, ui::VKEY_9, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, SELECT_LAST_WIN },
// Window management shortcuts.
- { true, ui::VKEY_OEM_4, false, false, true, WINDOW_SNAP_LEFT },
- { true, ui::VKEY_OEM_6, false, false, true, WINDOW_SNAP_RIGHT },
- { true, ui::VKEY_OEM_MINUS, false, false, true, WINDOW_MINIMIZE },
- { true, ui::VKEY_OEM_PLUS, false, false, true, WINDOW_MAXIMIZE_RESTORE },
- { true, ui::VKEY_OEM_PLUS, true, false, true, WINDOW_POSITION_CENTER },
+ { true, ui::VKEY_OEM_4, ui::EF_ALT_DOWN, WINDOW_SNAP_LEFT },
+ { true, ui::VKEY_OEM_6, ui::EF_ALT_DOWN, WINDOW_SNAP_RIGHT },
+ { true, ui::VKEY_OEM_MINUS, ui::EF_ALT_DOWN, WINDOW_MINIMIZE },
+ { true, ui::VKEY_OEM_PLUS, ui::EF_ALT_DOWN, WINDOW_MAXIMIZE_RESTORE },
+ { true, ui::VKEY_OEM_PLUS, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN,
+ WINDOW_POSITION_CENTER },
- { true, ui::VKEY_F3, true, true, true, ROTATE_WINDOWS },
+ { true, ui::VKEY_F3,
+ ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN,
+ ROTATE_WINDOWS },
#if !defined(NDEBUG)
- { true, ui::VKEY_HOME, false, true, false, ROTATE_SCREEN },
- { true, ui::VKEY_B, false, true, true, TOGGLE_DESKTOP_BACKGROUND_MODE },
- { true, ui::VKEY_F11, false, true, false, TOGGLE_ROOT_WINDOW_FULL_SCREEN },
- { true, ui::VKEY_L, true, true, true, PRINT_LAYER_HIERARCHY },
- { true, ui::VKEY_W, true, true, true, PRINT_WINDOW_HIERARCHY },
+ { true, ui::VKEY_HOME, ui::EF_CONTROL_DOWN, ROTATE_SCREEN },
+ { true, ui::VKEY_B, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN,
+ TOGGLE_DESKTOP_BACKGROUND_MODE },
+ { true, ui::VKEY_F11, ui::EF_CONTROL_DOWN, TOGGLE_ROOT_WINDOW_FULL_SCREEN },
+ { true, ui::VKEY_L, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN,
+ PRINT_LAYER_HIERARCHY },
+ { true, ui::VKEY_W, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN,
+ PRINT_WINDOW_HIERARCHY },
// For testing on systems where Alt-Tab is already mapped.
- { true, ui::VKEY_W, false, false, true, CYCLE_FORWARD_MRU },
- { true, ui::VKEY_W, true, false, true, CYCLE_BACKWARD_MRU },
- { true, ui::VKEY_F4, false, true, false, MONITOR_ADD_REMOVE },
- { true, ui::VKEY_F4, true, true, false, MONITOR_CYCLE },
- { true, ui::VKEY_HOME, true, true, false, MONITOR_TOGGLE_SCALE },
+ { true, ui::VKEY_W, ui::EF_ALT_DOWN, CYCLE_FORWARD_MRU },
+ { true, ui::VKEY_W, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, CYCLE_BACKWARD_MRU },
+ { true, ui::VKEY_F4, ui::EF_CONTROL_DOWN, MONITOR_ADD_REMOVE },
+ { true, ui::VKEY_F4, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, MONITOR_CYCLE },
+ { true, ui::VKEY_HOME, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN,
+ MONITOR_TOGGLE_SCALE },
#endif
- // trigger_on_press, KeyboardCode, shift, control, alt, AcceleratorAction
};
const size_t kAcceleratorDataLength = arraysize(kAcceleratorData);
diff --git a/ash/accelerators/accelerator_table.h b/ash/accelerators/accelerator_table.h
index 1de1067..ce411a7 100644
--- a/ash/accelerators/accelerator_table.h
+++ b/ash/accelerators/accelerator_table.h
@@ -74,9 +74,7 @@ enum AcceleratorAction {
struct AcceleratorData {
bool trigger_on_press;
ui::KeyboardCode keycode;
- bool shift;
- bool ctrl;
- bool alt;
+ int modifiers;
AcceleratorAction action;
};
diff --git a/ash/accelerators/accelerator_table_unittest.cc b/ash/accelerators/accelerator_table_unittest.cc
index 900adb8..9be3906 100644
--- a/ash/accelerators/accelerator_table_unittest.cc
+++ b/ash/accelerators/accelerator_table_unittest.cc
@@ -19,11 +19,7 @@ struct Cmp {
return lhs.trigger_on_press < rhs.trigger_on_press;
if (lhs.keycode != rhs.keycode)
return lhs.keycode < rhs.keycode;
- if (lhs.shift != rhs.shift)
- return lhs.shift < rhs.shift;
- if (lhs.ctrl != rhs.ctrl)
- return lhs.ctrl < rhs.ctrl;
- return lhs.alt < rhs.alt;
+ return lhs.modifiers < rhs.modifiers;
// Do not check |action|.
}
};
@@ -36,8 +32,9 @@ TEST(AcceleratorTableTest, CheckDuplicatedAccelerators) {
const AcceleratorData& entry = kAcceleratorData[i];
EXPECT_TRUE(acclerators.insert(entry).second)
<< "Duplicated accelerator: " << entry.trigger_on_press << ", "
- << entry.keycode << ", " << entry.shift << ", " << entry.ctrl << ", "
- << entry.alt;
+ << entry.keycode << ", " << (entry.modifiers & ui::EF_SHIFT_DOWN)
+ << ", " << (entry.modifiers & ui::EF_CONTROL_DOWN) << ", "
+ << (entry.modifiers & ui::EF_ALT_DOWN);
}
}
diff --git a/chrome/browser/ui/views/accelerator_table.cc b/chrome/browser/ui/views/accelerator_table.cc
index efdaf18..0b85d27 100644
--- a/chrome/browser/ui/views/accelerator_table.cc
+++ b/chrome/browser/ui/views/accelerator_table.cc
@@ -6,6 +6,7 @@
#include "base/basictypes.h"
#include "chrome/app/chrome_command_ids.h"
+#include "ui/base/events.h"
#include "ui/base/keycodes/keyboard_codes.h"
namespace browser {
@@ -15,148 +16,159 @@ namespace browser {
// Do not use Ctrl-Alt as a shortcut modifier, as it is used by i18n keyboards:
// http://blogs.msdn.com/b/oldnewthing/archive/2004/03/29/101121.aspx
const AcceleratorMapping kAcceleratorMap[] = {
- // Keycode Shift Ctrl Alt Command ID
- { ui::VKEY_LEFT, false, false, true, IDC_BACK },
- { ui::VKEY_BACK, false, false, false, IDC_BACK },
+ { ui::VKEY_LEFT, ui::EF_ALT_DOWN, IDC_BACK },
+ { ui::VKEY_BACK, ui::EF_NONE, IDC_BACK },
#if defined(OS_CHROMEOS)
- { ui::VKEY_F1, false, false, false, IDC_BACK },
+ { ui::VKEY_F1, ui::EF_NONE, IDC_BACK },
#endif
- { ui::VKEY_D, false, true, false, IDC_BOOKMARK_PAGE },
- { ui::VKEY_D, true, true, false, IDC_BOOKMARK_ALL_TABS },
+ { ui::VKEY_D, ui::EF_CONTROL_DOWN, IDC_BOOKMARK_PAGE },
+ { ui::VKEY_D, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN,
+ IDC_BOOKMARK_ALL_TABS },
#if !defined(OS_CHROMEOS)
- { ui::VKEY_DELETE, true, true, false, IDC_CLEAR_BROWSING_DATA },
+ { ui::VKEY_DELETE, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN,
+ IDC_CLEAR_BROWSING_DATA },
#else
- { ui::VKEY_BACK, true, true, false, IDC_CLEAR_BROWSING_DATA },
+ { ui::VKEY_BACK, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN,
+ IDC_CLEAR_BROWSING_DATA },
#endif
#if !defined(OS_CHROMEOS)
- { ui::VKEY_F4, false, true, false, IDC_CLOSE_TAB },
+ { ui::VKEY_F4, ui::EF_CONTROL_DOWN, IDC_CLOSE_TAB },
#endif
- { ui::VKEY_W, false, true, false, IDC_CLOSE_TAB },
- { ui::VKEY_W, true, true, false, IDC_CLOSE_WINDOW },
+ { ui::VKEY_W, ui::EF_CONTROL_DOWN, IDC_CLOSE_TAB },
+ { ui::VKEY_W, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, IDC_CLOSE_WINDOW },
#if !defined(OS_CHROMEOS)
- { ui::VKEY_F4, false, false, true, IDC_CLOSE_WINDOW },
+ { ui::VKEY_F4, ui::EF_ALT_DOWN, IDC_CLOSE_WINDOW },
#endif
#if !defined(USE_AURA)
- { ui::VKEY_Q, true, true, false, IDC_EXIT },
+ { ui::VKEY_Q, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, IDC_EXIT },
#endif
- { ui::VKEY_F, false, true, false, IDC_FIND },
- { ui::VKEY_G, false, true, false, IDC_FIND_NEXT },
+ { ui::VKEY_F, ui::EF_CONTROL_DOWN, IDC_FIND },
+ { ui::VKEY_G, ui::EF_CONTROL_DOWN, IDC_FIND_NEXT },
#if !defined(OS_CHROMEOS)
- { ui::VKEY_F3, false, false, false, IDC_FIND_NEXT },
+ { ui::VKEY_F3, ui::EF_NONE, IDC_FIND_NEXT },
#endif
- { ui::VKEY_G, true, true, false, IDC_FIND_PREVIOUS },
+ { ui::VKEY_G, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, IDC_FIND_PREVIOUS },
#if !defined(OS_CHROMEOS)
- { ui::VKEY_F3, true, false, false, IDC_FIND_PREVIOUS },
+ { ui::VKEY_F3, ui::EF_SHIFT_DOWN, IDC_FIND_PREVIOUS },
#endif
- { ui::VKEY_D, false, false, true, IDC_FOCUS_LOCATION },
- { ui::VKEY_L, false, true, false, IDC_FOCUS_LOCATION },
+ { ui::VKEY_D, ui::EF_ALT_DOWN, IDC_FOCUS_LOCATION },
+ { ui::VKEY_L, ui::EF_CONTROL_DOWN, IDC_FOCUS_LOCATION },
#if !defined(OS_CHROMEOS)
- { ui::VKEY_F10, false, false, false, IDC_FOCUS_MENU_BAR },
- { ui::VKEY_MENU, false, false, false, IDC_FOCUS_MENU_BAR },
- { ui::VKEY_F6, false, false, false, IDC_FOCUS_NEXT_PANE },
+ { ui::VKEY_F10, ui::EF_NONE, IDC_FOCUS_MENU_BAR },
+ { ui::VKEY_MENU, ui::EF_NONE, IDC_FOCUS_MENU_BAR },
+ { ui::VKEY_F6, ui::EF_NONE, IDC_FOCUS_NEXT_PANE },
#else
- { ui::VKEY_F2, false, true, false, IDC_FOCUS_NEXT_PANE },
+ { ui::VKEY_F2, ui::EF_CONTROL_DOWN, IDC_FOCUS_NEXT_PANE },
#endif
#if !defined(OS_CHROMEOS)
- { ui::VKEY_F6, true, false, false, IDC_FOCUS_PREVIOUS_PANE },
+ { ui::VKEY_F6, ui::EF_SHIFT_DOWN, IDC_FOCUS_PREVIOUS_PANE },
#else
- { ui::VKEY_F1, false, true, false, IDC_FOCUS_PREVIOUS_PANE },
-#endif
- { ui::VKEY_K, false, true, false, IDC_FOCUS_SEARCH },
- { ui::VKEY_E, false, true, false, IDC_FOCUS_SEARCH },
- { ui::VKEY_BROWSER_SEARCH, false, false, false, IDC_FOCUS_SEARCH },
- { ui::VKEY_T, true, false, true, IDC_FOCUS_TOOLBAR },
- { ui::VKEY_B, true, false, true, IDC_FOCUS_BOOKMARKS },
- { ui::VKEY_RIGHT, false, false, true, IDC_FORWARD },
- { ui::VKEY_BACK, true, false, false, IDC_FORWARD },
+ { ui::VKEY_F1, ui::EF_CONTROL_DOWN, IDC_FOCUS_PREVIOUS_PANE },
+#endif
+ { ui::VKEY_K, ui::EF_CONTROL_DOWN, IDC_FOCUS_SEARCH },
+ { ui::VKEY_E, ui::EF_CONTROL_DOWN, IDC_FOCUS_SEARCH },
+ { ui::VKEY_BROWSER_SEARCH, ui::EF_NONE, IDC_FOCUS_SEARCH },
+ { ui::VKEY_T, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, IDC_FOCUS_TOOLBAR },
+ { ui::VKEY_B, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, IDC_FOCUS_BOOKMARKS },
+ { ui::VKEY_RIGHT, ui::EF_ALT_DOWN, IDC_FORWARD },
+ { ui::VKEY_BACK, ui::EF_SHIFT_DOWN, IDC_FORWARD },
#if defined(OS_CHROMEOS)
- { ui::VKEY_F2, false, false, false, IDC_FORWARD },
+ { ui::VKEY_F2, ui::EF_NONE, IDC_FORWARD },
#endif
#if !defined(OS_CHROMEOS)
- { ui::VKEY_F11, false, false, false, IDC_FULLSCREEN },
+ { ui::VKEY_F11, ui::EF_NONE, IDC_FULLSCREEN },
#else
- { ui::VKEY_F4, false, false, false, IDC_FULLSCREEN },
+ { ui::VKEY_F4, ui::EF_NONE, IDC_FULLSCREEN },
#endif
#if !defined(OS_CHROMEOS)
- { ui::VKEY_F1, false, false, false, IDC_HELP_PAGE },
+ { ui::VKEY_F1, ui::EF_NONE, IDC_HELP_PAGE },
#else
- { ui::VKEY_OEM_2, false, true, false, IDC_HELP_PAGE },
- { ui::VKEY_OEM_2, true, true, false, IDC_HELP_PAGE },
+ { ui::VKEY_OEM_2, ui::EF_CONTROL_DOWN, IDC_HELP_PAGE },
+ { ui::VKEY_OEM_2, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, IDC_HELP_PAGE },
#endif
- { ui::VKEY_I, true, true, false, IDC_DEV_TOOLS },
+ { ui::VKEY_I, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, IDC_DEV_TOOLS },
#if defined(OS_CHROMEOS)
- { ui::VKEY_I, true, false, true, IDC_FEEDBACK },
+ { ui::VKEY_I, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, IDC_FEEDBACK },
#endif
- { ui::VKEY_F12, false, false, false, IDC_DEV_TOOLS },
- { ui::VKEY_J, true, true, false, IDC_DEV_TOOLS_CONSOLE },
- { ui::VKEY_C, true, true, false, IDC_DEV_TOOLS_INSPECT },
+ { ui::VKEY_F12, ui::EF_NONE, IDC_DEV_TOOLS },
+ { ui::VKEY_J, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN,
+ IDC_DEV_TOOLS_CONSOLE },
+ { ui::VKEY_C, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN,
+ IDC_DEV_TOOLS_INSPECT },
#if !defined(USE_ASH)
- { ui::VKEY_N, true, true, false, IDC_NEW_INCOGNITO_WINDOW },
+ { ui::VKEY_N, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN,
+ IDC_NEW_INCOGNITO_WINDOW },
#endif
- { ui::VKEY_T, false, true, false, IDC_NEW_TAB },
+ { ui::VKEY_T, ui::EF_CONTROL_DOWN, IDC_NEW_TAB },
#if !defined(USE_ASH)
- { ui::VKEY_N, false, true, false, IDC_NEW_WINDOW },
-#endif
- { ui::VKEY_O, false, true, false, IDC_OPEN_FILE },
- { ui::VKEY_P, false, true, false, IDC_PRINT},
- { ui::VKEY_P, true, true, false, IDC_ADVANCED_PRINT},
- { ui::VKEY_R, false, true, false, IDC_RELOAD },
- { ui::VKEY_R, true, true, false, IDC_RELOAD_IGNORING_CACHE },
+ { ui::VKEY_N, ui::EF_CONTROL_DOWN, IDC_NEW_WINDOW },
+#endif
+ { ui::VKEY_O, ui::EF_CONTROL_DOWN, IDC_OPEN_FILE },
+ { ui::VKEY_P, ui::EF_CONTROL_DOWN, IDC_PRINT},
+ { ui::VKEY_P, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, IDC_ADVANCED_PRINT},
+ { ui::VKEY_R, ui::EF_CONTROL_DOWN, IDC_RELOAD },
+ { ui::VKEY_R, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN,
+ IDC_RELOAD_IGNORING_CACHE },
#if !defined(OS_CHROMEOS)
- { ui::VKEY_F5, false, false, false, IDC_RELOAD },
- { ui::VKEY_F5, false, true, false, IDC_RELOAD_IGNORING_CACHE },
- { ui::VKEY_F5, true, false, false, IDC_RELOAD_IGNORING_CACHE },
+ { ui::VKEY_F5, ui::EF_NONE, IDC_RELOAD },
+ { ui::VKEY_F5, ui::EF_CONTROL_DOWN, IDC_RELOAD_IGNORING_CACHE },
+ { ui::VKEY_F5, ui::EF_SHIFT_DOWN, IDC_RELOAD_IGNORING_CACHE },
#else
- { ui::VKEY_F3, false, false, false, IDC_RELOAD },
- { ui::VKEY_F3, false, true, false, IDC_RELOAD_IGNORING_CACHE },
- { ui::VKEY_F3, true, false, false, IDC_RELOAD_IGNORING_CACHE },
-#endif
- { ui::VKEY_HOME, false, false, true, IDC_HOME },
- { ui::VKEY_T, true, true, false, IDC_RESTORE_TAB },
- { ui::VKEY_S, false, true, false, IDC_SAVE_PAGE },
- { ui::VKEY_9, false, true, false, IDC_SELECT_LAST_TAB },
- { ui::VKEY_NUMPAD9, false, true, false, IDC_SELECT_LAST_TAB },
- { ui::VKEY_TAB, false, true, false, IDC_SELECT_NEXT_TAB },
- { ui::VKEY_NEXT, false, true, false, IDC_SELECT_NEXT_TAB },
- { ui::VKEY_TAB, true, true, false, IDC_SELECT_PREVIOUS_TAB },
- { ui::VKEY_PRIOR, false, true, false, IDC_SELECT_PREVIOUS_TAB },
- { ui::VKEY_1, false, true, false, IDC_SELECT_TAB_0 },
- { ui::VKEY_NUMPAD1, false, true, false, IDC_SELECT_TAB_0 },
- { ui::VKEY_2, false, true, false, IDC_SELECT_TAB_1 },
- { ui::VKEY_NUMPAD2, false, true, false, IDC_SELECT_TAB_1 },
- { ui::VKEY_3, false, true, false, IDC_SELECT_TAB_2 },
- { ui::VKEY_NUMPAD3, false, true, false, IDC_SELECT_TAB_2 },
- { ui::VKEY_4, false, true, false, IDC_SELECT_TAB_3 },
- { ui::VKEY_NUMPAD4, false, true, false, IDC_SELECT_TAB_3 },
- { ui::VKEY_5, false, true, false, IDC_SELECT_TAB_4 },
- { ui::VKEY_NUMPAD5, false, true, false, IDC_SELECT_TAB_4 },
- { ui::VKEY_6, false, true, false, IDC_SELECT_TAB_5 },
- { ui::VKEY_NUMPAD6, false, true, false, IDC_SELECT_TAB_5 },
- { ui::VKEY_7, false, true, false, IDC_SELECT_TAB_6 },
- { ui::VKEY_NUMPAD7, false, true, false, IDC_SELECT_TAB_6 },
- { ui::VKEY_8, false, true, false, IDC_SELECT_TAB_7 },
- { ui::VKEY_NUMPAD8, false, true, false, IDC_SELECT_TAB_7 },
- { ui::VKEY_B, true, true, false, IDC_SHOW_BOOKMARK_BAR },
- { ui::VKEY_O, true, true, false, IDC_SHOW_BOOKMARK_MANAGER },
- { ui::VKEY_J, false, true, false, IDC_SHOW_DOWNLOADS },
- { ui::VKEY_H, false, true, false, IDC_SHOW_HISTORY },
- { ui::VKEY_F, false, false, true, IDC_SHOW_APP_MENU},
- { ui::VKEY_E, false, false, true, IDC_SHOW_APP_MENU},
+ { ui::VKEY_F3, ui::EF_NONE, IDC_RELOAD },
+ { ui::VKEY_F3, ui::EF_CONTROL_DOWN, IDC_RELOAD_IGNORING_CACHE },
+ { ui::VKEY_F3, ui::EF_SHIFT_DOWN, IDC_RELOAD_IGNORING_CACHE },
+#endif
+ { ui::VKEY_HOME, ui::EF_ALT_DOWN, IDC_HOME },
+ { ui::VKEY_T, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, IDC_RESTORE_TAB },
+ { ui::VKEY_S, ui::EF_CONTROL_DOWN, IDC_SAVE_PAGE },
+ { ui::VKEY_9, ui::EF_CONTROL_DOWN, IDC_SELECT_LAST_TAB },
+ { ui::VKEY_NUMPAD9, ui::EF_CONTROL_DOWN, IDC_SELECT_LAST_TAB },
+ { ui::VKEY_TAB, ui::EF_CONTROL_DOWN, IDC_SELECT_NEXT_TAB },
+ { ui::VKEY_NEXT, ui::EF_CONTROL_DOWN, IDC_SELECT_NEXT_TAB },
+ { ui::VKEY_TAB, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN,
+ IDC_SELECT_PREVIOUS_TAB },
+ { ui::VKEY_PRIOR, ui::EF_CONTROL_DOWN, IDC_SELECT_PREVIOUS_TAB },
+ { ui::VKEY_1, ui::EF_CONTROL_DOWN, IDC_SELECT_TAB_0 },
+ { ui::VKEY_NUMPAD1, ui::EF_CONTROL_DOWN, IDC_SELECT_TAB_0 },
+ { ui::VKEY_2, ui::EF_CONTROL_DOWN, IDC_SELECT_TAB_1 },
+ { ui::VKEY_NUMPAD2, ui::EF_CONTROL_DOWN, IDC_SELECT_TAB_1 },
+ { ui::VKEY_3, ui::EF_CONTROL_DOWN, IDC_SELECT_TAB_2 },
+ { ui::VKEY_NUMPAD3, ui::EF_CONTROL_DOWN, IDC_SELECT_TAB_2 },
+ { ui::VKEY_4, ui::EF_CONTROL_DOWN, IDC_SELECT_TAB_3 },
+ { ui::VKEY_NUMPAD4, ui::EF_CONTROL_DOWN, IDC_SELECT_TAB_3 },
+ { ui::VKEY_5, ui::EF_CONTROL_DOWN, IDC_SELECT_TAB_4 },
+ { ui::VKEY_NUMPAD5, ui::EF_CONTROL_DOWN, IDC_SELECT_TAB_4 },
+ { ui::VKEY_6, ui::EF_CONTROL_DOWN, IDC_SELECT_TAB_5 },
+ { ui::VKEY_NUMPAD6, ui::EF_CONTROL_DOWN, IDC_SELECT_TAB_5 },
+ { ui::VKEY_7, ui::EF_CONTROL_DOWN, IDC_SELECT_TAB_6 },
+ { ui::VKEY_NUMPAD7, ui::EF_CONTROL_DOWN, IDC_SELECT_TAB_6 },
+ { ui::VKEY_8, ui::EF_CONTROL_DOWN, IDC_SELECT_TAB_7 },
+ { ui::VKEY_NUMPAD8, ui::EF_CONTROL_DOWN, IDC_SELECT_TAB_7 },
+ { ui::VKEY_B, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN,
+ IDC_SHOW_BOOKMARK_BAR },
+ { ui::VKEY_O, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN,
+ IDC_SHOW_BOOKMARK_MANAGER },
+ { ui::VKEY_J, ui::EF_CONTROL_DOWN, IDC_SHOW_DOWNLOADS },
+ { ui::VKEY_H, ui::EF_CONTROL_DOWN, IDC_SHOW_HISTORY },
+ { ui::VKEY_F, ui::EF_ALT_DOWN, IDC_SHOW_APP_MENU},
+ { ui::VKEY_E, ui::EF_ALT_DOWN, IDC_SHOW_APP_MENU},
#if !defined(OS_CHROMEOS)
- { ui::VKEY_M, true, true, false, IDC_SHOW_AVATAR_MENU},
-#endif
- { ui::VKEY_ESCAPE, false, false, false, IDC_STOP },
- { ui::VKEY_ESCAPE, true, false, false, IDC_TASK_MANAGER },
- { ui::VKEY_OEM_PERIOD, true, true, false, IDC_TOGGLE_SPEECH_INPUT },
- { ui::VKEY_U, false, true, false, IDC_VIEW_SOURCE },
- { ui::VKEY_OEM_MINUS, false, true, false, IDC_ZOOM_MINUS },
- { ui::VKEY_OEM_MINUS, true, true, false, IDC_ZOOM_MINUS },
- { ui::VKEY_SUBTRACT, false, true, false, IDC_ZOOM_MINUS },
- { ui::VKEY_0, false, true, false, IDC_ZOOM_NORMAL },
- { ui::VKEY_NUMPAD0, false, true, false, IDC_ZOOM_NORMAL },
- { ui::VKEY_OEM_PLUS, false, true, false, IDC_ZOOM_PLUS },
- { ui::VKEY_OEM_PLUS, true, true, false, IDC_ZOOM_PLUS },
- { ui::VKEY_ADD, false, true, false, IDC_ZOOM_PLUS },
+ { ui::VKEY_M, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, IDC_SHOW_AVATAR_MENU},
+#endif
+ { ui::VKEY_ESCAPE, ui::EF_NONE, IDC_STOP },
+ { ui::VKEY_ESCAPE, ui::EF_SHIFT_DOWN, IDC_TASK_MANAGER },
+ { ui::VKEY_OEM_PERIOD, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN,
+ IDC_TOGGLE_SPEECH_INPUT },
+ { ui::VKEY_U, ui::EF_CONTROL_DOWN, IDC_VIEW_SOURCE },
+ { ui::VKEY_OEM_MINUS, ui::EF_CONTROL_DOWN, IDC_ZOOM_MINUS },
+ { ui::VKEY_OEM_MINUS, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN,
+ IDC_ZOOM_MINUS },
+ { ui::VKEY_SUBTRACT, ui::EF_CONTROL_DOWN, IDC_ZOOM_MINUS },
+ { ui::VKEY_0, ui::EF_CONTROL_DOWN, IDC_ZOOM_NORMAL },
+ { ui::VKEY_NUMPAD0, ui::EF_CONTROL_DOWN, IDC_ZOOM_NORMAL },
+ { ui::VKEY_OEM_PLUS, ui::EF_CONTROL_DOWN, IDC_ZOOM_PLUS },
+ { ui::VKEY_OEM_PLUS, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, IDC_ZOOM_PLUS },
+ { ui::VKEY_ADD, ui::EF_CONTROL_DOWN, IDC_ZOOM_PLUS },
};
const size_t kAcceleratorMapLength = arraysize(kAcceleratorMap);
diff --git a/chrome/browser/ui/views/accelerator_table.h b/chrome/browser/ui/views/accelerator_table.h
index 4a85976..238c79c 100644
--- a/chrome/browser/ui/views/accelerator_table.h
+++ b/chrome/browser/ui/views/accelerator_table.h
@@ -15,9 +15,7 @@ namespace browser {
struct AcceleratorMapping {
ui::KeyboardCode keycode;
- bool shift_pressed;
- bool ctrl_pressed;
- bool alt_pressed;
+ int modifiers;
int command_id;
};
diff --git a/chrome/browser/ui/views/accelerator_table_unittest.cc b/chrome/browser/ui/views/accelerator_table_unittest.cc
index 1451dfa..070c4c1 100644
--- a/chrome/browser/ui/views/accelerator_table_unittest.cc
+++ b/chrome/browser/ui/views/accelerator_table_unittest.cc
@@ -7,6 +7,7 @@
#include "base/basictypes.h"
#include "chrome/browser/ui/views/accelerator_table.h"
#include "testing/gtest/include/gtest/gtest.h"
+#include "ui/base/events.h"
#if defined(USE_ASH)
#include "ash/accelerators/accelerator_table.h"
@@ -19,11 +20,7 @@ struct Cmp {
const browser::AcceleratorMapping& rhs) {
if (lhs.keycode != rhs.keycode)
return lhs.keycode < rhs.keycode;
- if (lhs.shift_pressed != rhs.shift_pressed)
- return lhs.shift_pressed < rhs.shift_pressed;
- if (lhs.ctrl_pressed != rhs.ctrl_pressed)
- return lhs.ctrl_pressed < rhs.ctrl_pressed;
- return lhs.alt_pressed < rhs.alt_pressed;
+ return lhs.modifiers < rhs.modifiers;
// Do not check |command_id|.
}
};
@@ -36,8 +33,9 @@ TEST(AcceleratorTableTest, CheckDuplicatedAccelerators) {
const browser::AcceleratorMapping& entry = browser::kAcceleratorMap[i];
EXPECT_TRUE(acclerators.insert(entry).second)
<< "Duplicated accelerator: " << entry.keycode << ", "
- << entry.shift_pressed << ", " << entry.ctrl_pressed << ", "
- << entry.alt_pressed;
+ << (entry.modifiers & ui::EF_SHIFT_DOWN) << ", "
+ << (entry.modifiers & ui::EF_CONTROL_DOWN) << ", "
+ << (entry.modifiers & ui::EF_ALT_DOWN);
}
}
@@ -54,14 +52,13 @@ TEST(AcceleratorTableTest, CheckDuplicatedAcceleratorsAsh) {
continue; // kAcceleratorMap does not have any release accelerators.
browser::AcceleratorMapping entry;
entry.keycode = ash_entry.keycode;
- entry.shift_pressed = ash_entry.shift;
- entry.ctrl_pressed = ash_entry.ctrl;
- entry.alt_pressed = ash_entry.alt;
+ entry.modifiers = ash_entry.modifiers;
entry.command_id = 0; // dummy
EXPECT_TRUE(acclerators.insert(entry).second)
<< "Duplicated accelerator: " << entry.keycode << ", "
- << entry.shift_pressed << ", " << entry.ctrl_pressed << ", "
- << entry.alt_pressed;
+ << (entry.modifiers & ui::EF_SHIFT_DOWN) << ", "
+ << (entry.modifiers & ui::EF_CONTROL_DOWN) << ", "
+ << (entry.modifiers & ui::EF_ALT_DOWN);
}
}
#endif // USE_ASH
diff --git a/chrome/browser/ui/views/frame/browser_view.cc b/chrome/browser/ui/views/frame/browser_view.cc
index 2827d6e..97a1813 100644
--- a/chrome/browser/ui/views/frame/browser_view.cc
+++ b/chrome/browser/ui/views/frame/browser_view.cc
@@ -2140,9 +2140,7 @@ void BrowserView::LoadAccelerators() {
// Let's fill our own accelerator table.
for (size_t i = 0; i < browser::kAcceleratorMapLength; ++i) {
ui::Accelerator accelerator(browser::kAcceleratorMap[i].keycode,
- browser::kAcceleratorMap[i].shift_pressed,
- browser::kAcceleratorMap[i].ctrl_pressed,
- browser::kAcceleratorMap[i].alt_pressed);
+ browser::kAcceleratorMap[i].modifiers);
accelerator_table_[accelerator] = browser::kAcceleratorMap[i].command_id;
// Also register with the focus manager.
diff --git a/chrome/browser/ui/views/keyboard_overlay_dialog_view.cc b/chrome/browser/ui/views/keyboard_overlay_dialog_view.cc
index 616bf59..4774b4c 100644
--- a/chrome/browser/ui/views/keyboard_overlay_dialog_view.cc
+++ b/chrome/browser/ui/views/keyboard_overlay_dialog_view.cc
@@ -12,6 +12,7 @@
#include "chrome/browser/ui/views/keyboard_overlay_delegate.h"
#include "content/public/browser/native_web_keyboard_event.h"
#include "grit/generated_resources.h"
+#include "ui/base/events.h"
#include "ui/base/keycodes/keyboard_codes.h"
#include "ui/base/l10n/l10n_util.h"
#include "ui/gfx/screen.h"
@@ -22,13 +23,11 @@
namespace {
struct Accelerator {
ui::KeyboardCode keycode;
- bool shift_pressed;
- bool ctrl_pressed;
- bool alt_pressed;
-} kCloseAccelerators[] = {
- {ui::VKEY_OEM_2, false, true, true},
- {ui::VKEY_OEM_2, true, true, true},
- {ui::VKEY_ESCAPE, true, false, false},
+ int modifiers;
+} const kCloseAccelerators[] = {
+ {ui::VKEY_OEM_2, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN},
+ {ui::VKEY_OEM_2, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN},
+ {ui::VKEY_ESCAPE, ui::EF_SHIFT_DOWN},
};
} // namespace
@@ -47,20 +46,16 @@ KeyboardOverlayDialogView::~KeyboardOverlayDialogView() {
void KeyboardOverlayDialogView::RegisterDialogAccelerators() {
for (size_t i = 0; i < arraysize(kCloseAccelerators); ++i) {
ui::Accelerator accelerator(kCloseAccelerators[i].keycode,
- kCloseAccelerators[i].shift_pressed,
- kCloseAccelerators[i].ctrl_pressed,
- kCloseAccelerators[i].alt_pressed);
+ kCloseAccelerators[i].modifiers);
close_accelerators_.insert(accelerator);
AddAccelerator(accelerator);
}
for (size_t i = 0; i < browser::kAcceleratorMapLength; ++i) {
ui::Accelerator accelerator(browser::kAcceleratorMap[i].keycode,
- browser::kAcceleratorMap[i].shift_pressed,
- browser::kAcceleratorMap[i].ctrl_pressed,
- browser::kAcceleratorMap[i].alt_pressed);
+ browser::kAcceleratorMap[i].modifiers);
// Skip a sole ALT key since it's handled on the keyboard overlay.
- if (ui::Accelerator(ui::VKEY_MENU, false, false, false) == accelerator) {
+ if (ui::Accelerator(ui::VKEY_MENU, ui::EF_NONE) == accelerator) {
continue;
}
// Skip accelerators for closing the dialog since they are already added.