Skip to content

Instantly share code, notes, and snippets.

@mblsha
Created November 9, 2016 14:11
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mblsha/0cf9de8da549e23a3ebd01cf56dbebe5 to your computer and use it in GitHub Desktop.
Save mblsha/0cf9de8da549e23a3ebd01cf56dbebe5 to your computer and use it in GitHub Desktop.
// NOTE: Keep this list in the same (mostly-alphabetical) order as
// the Windows accelerators in ../../app/chrome_dll.rc.
// 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[] = {
{ ui::VKEY_LEFT, ui::EF_ALT_DOWN, IDC_BACK },
{ ui::VKEY_BACK, ui::EF_NONE, IDC_BACKSPACE_BACK },
{ ui::VKEY_D, kPlatformModifier, IDC_BOOKMARK_PAGE },
{ ui::VKEY_D, ui::EF_SHIFT_DOWN | kPlatformModifier,
IDC_BOOKMARK_ALL_TABS },
{ ui::VKEY_W, kPlatformModifier, IDC_CLOSE_TAB },
{ ui::VKEY_W, ui::EF_SHIFT_DOWN | kPlatformModifier, IDC_CLOSE_WINDOW },
{ ui::VKEY_F, kPlatformModifier, IDC_FIND },
{ ui::VKEY_G, kPlatformModifier, IDC_FIND_NEXT },
{ ui::VKEY_G, ui::EF_SHIFT_DOWN | kPlatformModifier, IDC_FIND_PREVIOUS },
{ ui::VKEY_D, ui::EF_ALT_DOWN, IDC_FOCUS_LOCATION },
{ ui::VKEY_L, kPlatformModifier, IDC_FOCUS_LOCATION },
#if !defined(OS_MACOSX)
{ ui::VKEY_K, ui::EF_CONTROL_DOWN, IDC_FOCUS_SEARCH },
{ ui::VKEY_E, ui::EF_CONTROL_DOWN, IDC_FOCUS_SEARCH },
#endif // !OS_MACOSX
{ 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_A, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, IDC_FOCUS_INFOBARS },
{ ui::VKEY_RIGHT, ui::EF_ALT_DOWN, IDC_FORWARD },
{ ui::VKEY_BACK, ui::EF_SHIFT_DOWN, IDC_BACKSPACE_FORWARD },
#if !defined(OS_MACOSX)
{ ui::VKEY_I, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, IDC_DEV_TOOLS },
#endif // !OS_MACOSX
{ ui::VKEY_F12, ui::EF_NONE, IDC_DEV_TOOLS_TOGGLE },
#if !defined(OS_MACOSX)
{ 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 },
#endif // !OS_MACOSX
{ ui::VKEY_O, kPlatformModifier, IDC_OPEN_FILE },
{ ui::VKEY_P, kPlatformModifier, IDC_PRINT },
#if defined(ENABLE_BASIC_PRINTING) && !defined(OS_MACOSX)
{ ui::VKEY_P, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, IDC_BASIC_PRINT},
#endif // ENABLE_BASIC_PRINTING && !OS_MACOSX
{ ui::VKEY_R, kPlatformModifier, IDC_RELOAD },
{ ui::VKEY_R, ui::EF_SHIFT_DOWN | kPlatformModifier,
IDC_RELOAD_BYPASSING_CACHE },
{ ui::VKEY_HOME, ui::EF_ALT_DOWN, IDC_HOME },
{ ui::VKEY_S, kPlatformModifier, IDC_SAVE_PAGE },
{ ui::VKEY_9, kPlatformModifier, IDC_SELECT_LAST_TAB },
{ ui::VKEY_NUMPAD9, kPlatformModifier, IDC_SELECT_LAST_TAB },
#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
{ ui::VKEY_9, ui::EF_ALT_DOWN, IDC_SELECT_LAST_TAB },
{ ui::VKEY_NUMPAD9, ui::EF_ALT_DOWN, IDC_SELECT_LAST_TAB },
{ ui::VKEY_NEXT, ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN, IDC_MOVE_TAB_NEXT },
{ ui::VKEY_PRIOR, ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN,
IDC_MOVE_TAB_PREVIOUS },
#endif
{ 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, kPlatformModifier, IDC_SELECT_TAB_0 },
{ ui::VKEY_NUMPAD1, kPlatformModifier, IDC_SELECT_TAB_0 },
{ ui::VKEY_2, kPlatformModifier, IDC_SELECT_TAB_1 },
{ ui::VKEY_NUMPAD2, kPlatformModifier, IDC_SELECT_TAB_1 },
{ ui::VKEY_3, kPlatformModifier, IDC_SELECT_TAB_2 },
{ ui::VKEY_NUMPAD3, kPlatformModifier, IDC_SELECT_TAB_2 },
{ ui::VKEY_4, kPlatformModifier, IDC_SELECT_TAB_3 },
{ ui::VKEY_NUMPAD4, kPlatformModifier, IDC_SELECT_TAB_3 },
{ ui::VKEY_5, kPlatformModifier, IDC_SELECT_TAB_4 },
{ ui::VKEY_NUMPAD5, kPlatformModifier, IDC_SELECT_TAB_4 },
{ ui::VKEY_6, kPlatformModifier, IDC_SELECT_TAB_5 },
{ ui::VKEY_NUMPAD6, kPlatformModifier, IDC_SELECT_TAB_5 },
{ ui::VKEY_7, kPlatformModifier, IDC_SELECT_TAB_6 },
{ ui::VKEY_NUMPAD7, kPlatformModifier, IDC_SELECT_TAB_6 },
{ ui::VKEY_8, kPlatformModifier, IDC_SELECT_TAB_7 },
{ ui::VKEY_NUMPAD8, kPlatformModifier, IDC_SELECT_TAB_7 },
#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
{ ui::VKEY_1, ui::EF_ALT_DOWN, IDC_SELECT_TAB_0 },
{ ui::VKEY_NUMPAD1, ui::EF_ALT_DOWN, IDC_SELECT_TAB_0 },
{ ui::VKEY_2, ui::EF_ALT_DOWN, IDC_SELECT_TAB_1 },
{ ui::VKEY_NUMPAD2, ui::EF_ALT_DOWN, IDC_SELECT_TAB_1 },
{ ui::VKEY_3, ui::EF_ALT_DOWN, IDC_SELECT_TAB_2 },
{ ui::VKEY_NUMPAD3, ui::EF_ALT_DOWN, IDC_SELECT_TAB_2 },
{ ui::VKEY_4, ui::EF_ALT_DOWN, IDC_SELECT_TAB_3 },
{ ui::VKEY_NUMPAD4, ui::EF_ALT_DOWN, IDC_SELECT_TAB_3 },
{ ui::VKEY_5, ui::EF_ALT_DOWN, IDC_SELECT_TAB_4 },
{ ui::VKEY_NUMPAD5, ui::EF_ALT_DOWN, IDC_SELECT_TAB_4 },
{ ui::VKEY_6, ui::EF_ALT_DOWN, IDC_SELECT_TAB_5 },
{ ui::VKEY_NUMPAD6, ui::EF_ALT_DOWN, IDC_SELECT_TAB_5 },
{ ui::VKEY_7, ui::EF_ALT_DOWN, IDC_SELECT_TAB_6 },
{ ui::VKEY_NUMPAD7, ui::EF_ALT_DOWN, IDC_SELECT_TAB_6 },
{ ui::VKEY_8, ui::EF_ALT_DOWN, IDC_SELECT_TAB_7 },
{ ui::VKEY_NUMPAD8, ui::EF_ALT_DOWN, IDC_SELECT_TAB_7 },
{ ui::VKEY_BROWSER_FAVORITES, ui::EF_NONE, IDC_SHOW_BOOKMARK_BAR },
#endif
{ ui::VKEY_B, ui::EF_SHIFT_DOWN | kPlatformModifier,
IDC_SHOW_BOOKMARK_BAR },
#if !defined(OS_MACOSX)
{ 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 },
#endif // !OS_MACOSX
{ ui::VKEY_F, ui::EF_ALT_DOWN, IDC_SHOW_APP_MENU},
{ ui::VKEY_E, ui::EF_ALT_DOWN, IDC_SHOW_APP_MENU},
{ ui::VKEY_ESCAPE, ui::EF_NONE, IDC_STOP },
#if !defined(OS_MACOSX)
{ ui::VKEY_U, ui::EF_CONTROL_DOWN, IDC_VIEW_SOURCE },
#endif // !OS_MACOSX
{ ui::VKEY_OEM_MINUS, kPlatformModifier, IDC_ZOOM_MINUS },
{ ui::VKEY_SUBTRACT, kPlatformModifier, IDC_ZOOM_MINUS },
{ ui::VKEY_0, kPlatformModifier, IDC_ZOOM_NORMAL },
{ ui::VKEY_NUMPAD0, kPlatformModifier, IDC_ZOOM_NORMAL },
{ ui::VKEY_OEM_PLUS, kPlatformModifier, IDC_ZOOM_PLUS },
{ ui::VKEY_ADD, kPlatformModifier, IDC_ZOOM_PLUS },
#if !defined(OS_MACOSX) // Function keys aren't mapped on Mac.
{ ui::VKEY_F1, ui::EF_NONE, IDC_HELP_PAGE_VIA_KEYBOARD },
{ ui::VKEY_F3, ui::EF_NONE, IDC_FIND_NEXT },
{ ui::VKEY_F3, ui::EF_SHIFT_DOWN, IDC_FIND_PREVIOUS },
{ ui::VKEY_F4, ui::EF_CONTROL_DOWN, IDC_CLOSE_TAB },
{ ui::VKEY_F4, ui::EF_ALT_DOWN, IDC_CLOSE_WINDOW },
{ ui::VKEY_F5, ui::EF_NONE, IDC_RELOAD },
{ ui::VKEY_F5, ui::EF_CONTROL_DOWN, IDC_RELOAD_BYPASSING_CACHE },
{ ui::VKEY_F5, ui::EF_SHIFT_DOWN, IDC_RELOAD_BYPASSING_CACHE },
{ ui::VKEY_F6, ui::EF_NONE, IDC_FOCUS_NEXT_PANE },
{ ui::VKEY_F6, ui::EF_SHIFT_DOWN, IDC_FOCUS_PREVIOUS_PANE },
{ ui::VKEY_F10, ui::EF_NONE, IDC_FOCUS_MENU_BAR },
{ ui::VKEY_F11, ui::EF_NONE, IDC_FULLSCREEN },
#endif // !OS_MACOSX
// Platform-specific key maps.
#if defined(OS_LINUX)
{ ui::VKEY_BROWSER_BACK, ui::EF_NONE, IDC_BACK },
{ ui::VKEY_BROWSER_FORWARD, ui::EF_NONE, IDC_FORWARD },
{ ui::VKEY_BROWSER_HOME, ui::EF_NONE, IDC_HOME },
{ ui::VKEY_BROWSER_REFRESH, ui::EF_NONE, IDC_RELOAD },
{ ui::VKEY_BROWSER_REFRESH, ui::EF_CONTROL_DOWN, IDC_RELOAD_BYPASSING_CACHE },
{ ui::VKEY_BROWSER_REFRESH, ui::EF_SHIFT_DOWN, IDC_RELOAD_BYPASSING_CACHE },
#endif // defined(OS_LINUX)
#if defined(OS_CHROMEOS)
// On Chrome OS, VKEY_BROWSER_SEARCH is handled in Ash.
{ ui::VKEY_BACK, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN,
IDC_CLEAR_BROWSING_DATA },
{ ui::VKEY_OEM_2, ui::EF_CONTROL_DOWN, IDC_HELP_PAGE_VIA_KEYBOARD },
{ ui::VKEY_OEM_2, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN,
IDC_HELP_PAGE_VIA_KEYBOARD },
{ ui::VKEY_BROWSER_FAVORITES, ui::EF_NONE, IDC_SHOW_BOOKMARK_MANAGER },
{ ui::VKEY_BROWSER_STOP, ui::EF_NONE, IDC_STOP },
{ ui::VKEY_P, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN,
IDC_TOUCH_HUD_PROJECTION_TOGGLE },
#else
{ ui::VKEY_ESCAPE, ui::EF_SHIFT_DOWN, IDC_TASK_MANAGER },
#if !defined(OS_MACOSX)
{ ui::VKEY_DELETE, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN,
IDC_CLEAR_BROWSING_DATA },
#endif // !OS_MACOSX
{ ui::VKEY_LMENU, ui::EF_NONE, IDC_FOCUS_MENU_BAR },
{ ui::VKEY_MENU, ui::EF_NONE, IDC_FOCUS_MENU_BAR },
{ ui::VKEY_RMENU, ui::EF_NONE, IDC_FOCUS_MENU_BAR },
// On Windows, all VKEY_BROWSER_* keys except VKEY_BROWSER_SEARCH are handled
// via WM_APPCOMMAND.
{ ui::VKEY_BROWSER_SEARCH, ui::EF_NONE, IDC_FOCUS_SEARCH },
{ ui::VKEY_M, ui::EF_SHIFT_DOWN | kPlatformModifier, IDC_SHOW_AVATAR_MENU },
#if !defined(OS_MACOSX)
// On Chrome OS, these keys are assigned to change UI scale.
{ ui::VKEY_OEM_PLUS, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, IDC_ZOOM_PLUS },
{ ui::VKEY_OEM_MINUS, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN,
IDC_ZOOM_MINUS },
#endif // !OS_MACOSX
// For each entry here add an entry into kChromeCmdId2AshActionId below
// if Ash has a corresponding accelerator.
#if defined(GOOGLE_CHROME_BUILD)
{ ui::VKEY_I, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, IDC_FEEDBACK },
#endif
#if !defined(OS_MACOSX)
{ ui::VKEY_Q, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, IDC_EXIT },
#endif // !OS_MACOSX
{ ui::VKEY_N, ui::EF_SHIFT_DOWN | kPlatformModifier,
IDC_NEW_INCOGNITO_WINDOW },
{ ui::VKEY_T, kPlatformModifier, IDC_NEW_TAB },
{ ui::VKEY_N, kPlatformModifier, IDC_NEW_WINDOW },
{ ui::VKEY_T, ui::EF_SHIFT_DOWN | kPlatformModifier, IDC_RESTORE_TAB },
#endif // !OS_CHROMEOS
#if defined(OS_MACOSX)
// VKEY_OEM_4 is Left Brace '[{' key.
{ ui::VKEY_OEM_4, ui::EF_COMMAND_DOWN, IDC_BACK },
{ ui::VKEY_LEFT, ui::EF_COMMAND_DOWN, IDC_BACK },
#if defined(ENABLE_BASIC_PRINTING)
{ ui::VKEY_P, ui::EF_COMMAND_DOWN | ui::EF_ALT_DOWN, IDC_BASIC_PRINT },
#endif // ENABLE_BASIC_PRINTING
{ ui::VKEY_BACK, ui::EF_COMMAND_DOWN | ui::EF_SHIFT_DOWN,
IDC_CLEAR_BROWSING_DATA },
{ ui::VKEY_V, ui::EF_COMMAND_DOWN | ui::EF_SHIFT_DOWN,
IDC_CONTENT_CONTEXT_PASTE_AND_MATCH_STYLE },
{ ui::VKEY_Z, ui::EF_COMMAND_DOWN | ui::EF_SHIFT_DOWN,
IDC_CONTENT_CONTEXT_REDO },
{ ui::VKEY_A, ui::EF_COMMAND_DOWN, IDC_CONTENT_CONTEXT_SELECTALL },
{ ui::VKEY_Z, ui::EF_COMMAND_DOWN, IDC_CONTENT_CONTEXT_UNDO },
{ ui::VKEY_I, ui::EF_COMMAND_DOWN | ui::EF_ALT_DOWN, IDC_DEV_TOOLS },
{ ui::VKEY_J, ui::EF_COMMAND_DOWN | ui::EF_ALT_DOWN, IDC_DEV_TOOLS_CONSOLE },
{ ui::VKEY_C, ui::EF_COMMAND_DOWN | ui::EF_SHIFT_DOWN, IDC_DEV_TOOLS_INSPECT},
{ ui::VKEY_I, ui::EF_COMMAND_DOWN | ui::EF_SHIFT_DOWN,
IDC_EMAIL_PAGE_LOCATION },
{ ui::VKEY_Q, ui::EF_COMMAND_DOWN, IDC_EXIT },
{ ui::VKEY_F, ui::EF_COMMAND_DOWN | ui::EF_ALT_DOWN, IDC_FOCUS_SEARCH },
// VKEY_OEM_6 is Right Brace ']}' key.
{ ui::VKEY_OEM_6, ui::EF_COMMAND_DOWN, IDC_FORWARD },
{ ui::VKEY_RIGHT, ui::EF_COMMAND_DOWN, IDC_FORWARD },
{ ui::VKEY_F, ui::EF_COMMAND_DOWN | ui::EF_CONTROL_DOWN, IDC_FULLSCREEN },
// VKEY_OEM_2 is Slash '/?' key.
{ ui::VKEY_OEM_2, ui::EF_COMMAND_DOWN | ui::EF_SHIFT_DOWN,
IDC_HELP_PAGE_VIA_MENU },
{ ui::VKEY_H, ui::EF_COMMAND_DOWN, IDC_HIDE_APP },
{ ui::VKEY_H, ui::EF_COMMAND_DOWN | ui::EF_SHIFT_DOWN, IDC_HOME },
{ ui::VKEY_M, ui::EF_COMMAND_DOWN, IDC_MINIMIZE_WINDOW },
{ ui::VKEY_RIGHT, ui::EF_COMMAND_DOWN | ui::EF_ALT_DOWN,
IDC_SELECT_NEXT_TAB },
{ ui::VKEY_LEFT, ui::EF_COMMAND_DOWN | ui::EF_ALT_DOWN,
IDC_SELECT_PREVIOUS_TAB },
{ ui::VKEY_B, ui::EF_COMMAND_DOWN | ui::EF_ALT_DOWN,
IDC_SHOW_BOOKMARK_MANAGER },
{ ui::VKEY_J, ui::EF_COMMAND_DOWN | ui::EF_SHIFT_DOWN, IDC_SHOW_DOWNLOADS },
{ ui::VKEY_L, ui::EF_COMMAND_DOWN | ui::EF_ALT_DOWN, IDC_SHOW_DOWNLOADS },
{ ui::VKEY_Y, ui::EF_COMMAND_DOWN, IDC_SHOW_HISTORY },
{ ui::VKEY_OEM_PERIOD, ui::EF_COMMAND_DOWN, IDC_STOP },
{ ui::VKEY_U, ui::EF_COMMAND_DOWN | ui::EF_ALT_DOWN, IDC_VIEW_SOURCE },
#endif // OS_MACOSX
};
diff --git a/chrome/browser/ui/views/accelerator_table.cc b/chrome/browser/ui/views/accelerator_table.cc
index e8770d2..07921d4 100644
--- a/chrome/browser/ui/views/accelerator_table.cc
+++ b/chrome/browser/ui/views/accelerator_table.cc
@@ -50,24 +50,30 @@ const AcceleratorMapping kAcceleratorMap[] = {
{ ui::VKEY_G, ui::EF_SHIFT_DOWN | kPlatformModifier, IDC_FIND_PREVIOUS },
{ ui::VKEY_D, ui::EF_ALT_DOWN, IDC_FOCUS_LOCATION },
{ ui::VKEY_L, kPlatformModifier, IDC_FOCUS_LOCATION },
+#if !defined(OS_MACOSX)
{ ui::VKEY_K, ui::EF_CONTROL_DOWN, IDC_FOCUS_SEARCH },
{ ui::VKEY_E, ui::EF_CONTROL_DOWN, IDC_FOCUS_SEARCH },
+#endif // !OS_MACOSX
{ 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_A, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, IDC_FOCUS_INFOBARS },
{ ui::VKEY_RIGHT, ui::EF_ALT_DOWN, IDC_FORWARD },
{ ui::VKEY_BACK, ui::EF_SHIFT_DOWN, IDC_BACKSPACE_FORWARD },
+#if !defined(OS_MACOSX)
{ ui::VKEY_I, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, IDC_DEV_TOOLS },
+#endif // !OS_MACOSX
{ ui::VKEY_F12, ui::EF_NONE, IDC_DEV_TOOLS_TOGGLE },
+#if !defined(OS_MACOSX)
{ 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 },
+#endif // !OS_MACOSX
{ ui::VKEY_O, kPlatformModifier, IDC_OPEN_FILE },
{ ui::VKEY_P, kPlatformModifier, IDC_PRINT },
-#if defined(ENABLE_BASIC_PRINTING)
+#if defined(ENABLE_BASIC_PRINTING) && !defined(OS_MACOSX)
{ ui::VKEY_P, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, IDC_BASIC_PRINT},
-#endif // ENABLE_BASIC_PRINTING
+#endif // ENABLE_BASIC_PRINTING && !OS_MACOSX
{ ui::VKEY_R, kPlatformModifier, IDC_RELOAD },
{ ui::VKEY_R, ui::EF_SHIFT_DOWN | kPlatformModifier,
IDC_RELOAD_BYPASSING_CACHE },
@@ -124,14 +130,18 @@ const AcceleratorMapping kAcceleratorMap[] = {
#endif
{ ui::VKEY_B, ui::EF_SHIFT_DOWN | kPlatformModifier,
IDC_SHOW_BOOKMARK_BAR },
+#if !defined(OS_MACOSX)
{ 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 },
+#endif // !OS_MACOSX
{ ui::VKEY_F, ui::EF_ALT_DOWN, IDC_SHOW_APP_MENU},
{ ui::VKEY_E, ui::EF_ALT_DOWN, IDC_SHOW_APP_MENU},
{ ui::VKEY_ESCAPE, ui::EF_NONE, IDC_STOP },
+#if !defined(OS_MACOSX)
{ ui::VKEY_U, ui::EF_CONTROL_DOWN, IDC_VIEW_SOURCE },
+#endif // !OS_MACOSX
{ ui::VKEY_OEM_MINUS, kPlatformModifier, IDC_ZOOM_MINUS },
{ ui::VKEY_SUBTRACT, kPlatformModifier, IDC_ZOOM_MINUS },
{ ui::VKEY_0, kPlatformModifier, IDC_ZOOM_NORMAL },
@@ -177,8 +187,10 @@ const AcceleratorMapping kAcceleratorMap[] = {
IDC_TOUCH_HUD_PROJECTION_TOGGLE },
#else
{ ui::VKEY_ESCAPE, ui::EF_SHIFT_DOWN, IDC_TASK_MANAGER },
+#if !defined(OS_MACOSX)
{ ui::VKEY_DELETE, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN,
IDC_CLEAR_BROWSING_DATA },
+#endif // !OS_MACOSX
{ ui::VKEY_LMENU, ui::EF_NONE, IDC_FOCUS_MENU_BAR },
{ ui::VKEY_MENU, ui::EF_NONE, IDC_FOCUS_MENU_BAR },
{ ui::VKEY_RMENU, ui::EF_NONE, IDC_FOCUS_MENU_BAR },
@@ -186,16 +198,20 @@ const AcceleratorMapping kAcceleratorMap[] = {
// via WM_APPCOMMAND.
{ ui::VKEY_BROWSER_SEARCH, ui::EF_NONE, IDC_FOCUS_SEARCH },
{ ui::VKEY_M, ui::EF_SHIFT_DOWN | kPlatformModifier, IDC_SHOW_AVATAR_MENU },
+#if !defined(OS_MACOSX)
// On Chrome OS, these keys are assigned to change UI scale.
{ ui::VKEY_OEM_PLUS, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, IDC_ZOOM_PLUS },
{ ui::VKEY_OEM_MINUS, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN,
IDC_ZOOM_MINUS },
+#endif // !OS_MACOSX
// For each entry here add an entry into kChromeCmdId2AshActionId below
// if Ash has a corresponding accelerator.
#if defined(GOOGLE_CHROME_BUILD)
{ ui::VKEY_I, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, IDC_FEEDBACK },
#endif
+#if !defined(OS_MACOSX)
{ ui::VKEY_Q, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, IDC_EXIT },
+#endif // !OS_MACOSX
{ ui::VKEY_N, ui::EF_SHIFT_DOWN | kPlatformModifier,
IDC_NEW_INCOGNITO_WINDOW },
{ ui::VKEY_T, kPlatformModifier, IDC_NEW_TAB },
@@ -307,13 +323,7 @@ std::vector<AcceleratorMapping> GetAcceleratorList() {
is_accelerator_list_initialized = true;
#if defined(OS_MACOSX)
- // Control modifier is rarely used on Mac, so we allow it only in several
- // whitelisted cases.
- const std::set<int> control_whitelist = {
- IDC_SELECT_NEXT_TAB, IDC_SELECT_PREVIOUS_TAB, IDC_FULLSCREEN,
- };
-
- auto remove_accelerators = [&control_whitelist](const AcceleratorMapping& m) {
+ auto remove_accelerators = [](const AcceleratorMapping& m) {
// Alt by itself (or with just shift) is never used on Mac since it's used
// to generate non-ASCII characters. Such commands are given Mac-specific
// bindings as well, so remove the mappings with Alt, but not those with
@@ -323,11 +333,6 @@ std::vector<AcceleratorMapping> GetAcceleratorList() {
if ((m.modifiers & kNonShiftMask) == ui::EF_ALT_DOWN)
return true;
- // If command uses Control modifier it has to be whitelisted.
- if ((m.modifiers & ui::EF_CONTROL_DOWN) != 0 &&
- control_whitelist.count(m.command_id) == 0)
- return true;
-
return false;
};
accelerators.erase(std::remove_if(accelerators.begin(), accelerators.end(),
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment