diff options
author | thakis@chromium.org <thakis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-12-18 08:56:18 +0000 |
---|---|---|
committer | thakis@chromium.org <thakis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-12-18 08:56:18 +0000 |
commit | 1ade7b6573cd86b9969740d7cc0376a6be23f385 (patch) | |
tree | 803722693e07073c11e30b7e31a56bd6c6a0d820 /chrome/browser/global_keyboard_shortcuts_mac.h | |
parent | 82bf749a2af4de1a5e1dcafd3f211993582bf24b (diff) | |
download | chromium_src-1ade7b6573cd86b9969740d7cc0376a6be23f385.zip chromium_src-1ade7b6573cd86b9969740d7cc0376a6be23f385.tar.gz chromium_src-1ade7b6573cd86b9969740d7cc0376a6be23f385.tar.bz2 |
Add a keyboard shortcut on Escape that emits the IDC_STOP command.
BUG=20916
TEST=Load something big (http://cnn.com/) and hit escape. Page load will stop.
Review URL: http://codereview.chromium.org/491023
Patch from Jochen Eisinger.
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@34942 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/global_keyboard_shortcuts_mac.h')
-rw-r--r-- | chrome/browser/global_keyboard_shortcuts_mac.h | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/chrome/browser/global_keyboard_shortcuts_mac.h b/chrome/browser/global_keyboard_shortcuts_mac.h index 13a4587..d72c8aa 100644 --- a/chrome/browser/global_keyboard_shortcuts_mac.h +++ b/chrome/browser/global_keyboard_shortcuts_mac.h @@ -20,10 +20,13 @@ struct KeyboardShortcutData { // returns: Command number (as passed to Browser::ExecuteCommand) or -1 if there // was no match. // -// |performKeyEquivalent:| bubbles events up from the window to the views. -// If we let it bubble up to the Omnibox, then the Omnibox handles -// cmd-left/right just fine, but it swallows cmd-1 and doesn't give us a chance -// to intercept this. Hence, we need two types of keyboard shortcuts. +// |performKeyEquivalent:| bubbles events up from the window to the views. If +// we let it bubble up to the Omnibox, then the Omnibox handles cmd-left/right +// just fine, but it swallows cmd-1 and doesn't give us a chance to intercept +// this. Hence, we need three types of keyboard shortcuts: shortcuts that are +// intercepted before the Omnibox handles events, shortcuts that are +// intercepted after the Omnibox had a chance but did not handle them, and +// shortcuts that are only handled when tab contents is focused. // // This means cmd-left doesn't work if you hit cmd-l tab, which focusses // something that's neither omnibox nor tab contents. This behavior is @@ -38,6 +41,13 @@ int CommandForWindowKeyboardShortcut( bool command_key, bool shift_key, bool cntrl_key, bool opt_key, int vkey_code); +// This returns shortcuts that should work no matter what component of the +// browser is focused. They are executed by the window, after any view has the +// opportunity to override the shortcut +int CommandForDelayedWindowKeyboardShortcut( + bool command_key, bool shift_key, bool cntrl_key, bool opt_key, + int vkey_code); + // This returns shortcuts that should work only if the tab contents have focus // (e.g. cmd-left, which shouldn't do history navigation if e.g. the omnibox has // focus). @@ -48,6 +58,8 @@ int CommandForBrowserKeyboardShortcut( // For testing purposes. const KeyboardShortcutData* GetWindowKeyboardShortcutTable(size_t* num_entries); const KeyboardShortcutData* + GetDelayedWindowKeyboardShortcutTable(size_t* num_entries); +const KeyboardShortcutData* GetBrowserKeyboardShortcutTable(size_t* num_entries); #endif // #ifndef CHROME_BROWSER_GLOBAL_KEYBOARD_SHORTCUTS_MAC_H_ |