| Index: chrome/browser/global_keyboard_shortcuts_mac.mm
|
| diff --git a/chrome/browser/global_keyboard_shortcuts_mac.mm b/chrome/browser/global_keyboard_shortcuts_mac.mm
|
| index 63982ef1c610bc68d584d2385b9cfbda54abcf7c..d74f9354bce9cee311e87e3224583ef8bd13ecb1 100644
|
| --- a/chrome/browser/global_keyboard_shortcuts_mac.mm
|
| +++ b/chrome/browser/global_keyboard_shortcuts_mac.mm
|
| @@ -9,7 +9,8 @@
|
| #include "base/basictypes.h"
|
| #include "chrome/app/chrome_dll_resource.h"
|
|
|
| -const KeyboardShortcutData* GetKeyboardShortCutTable(size_t* num_entries) {
|
| +const KeyboardShortcutData* GetWindowKeyboardShortcutTable
|
| + (size_t* num_entries) {
|
| static const KeyboardShortcutData keyboard_shortcuts[] = {
|
| {true, true, false, kVK_ANSI_RightBracket, IDC_SELECT_NEXT_TAB},
|
| {false, false, true, kVK_PageDown, IDC_SELECT_NEXT_TAB},
|
| @@ -27,11 +28,6 @@ const KeyboardShortcutData* GetKeyboardShortCutTable(size_t* num_entries) {
|
| {true, false, false, kVK_ANSI_7, IDC_SELECT_TAB_6},
|
| {true, false, false, kVK_ANSI_8, IDC_SELECT_TAB_7},
|
| {true, false, false, kVK_ANSI_9, IDC_SELECT_LAST_TAB},
|
| - // TODO(pinkerton): These can't live here yet, they need to be plumbed
|
| - // through the renderer first so it can override if in a text field.
|
| - // http://crbug.com/12557
|
| - // {true, false, false, kVK_LeftArrow, IDC_BACK},
|
| - // {true, false, false, kVK_RightArrow, IDC_FORWARD},
|
| };
|
|
|
| *num_entries = arraysize(keyboard_shortcuts);
|
| @@ -39,8 +35,21 @@ const KeyboardShortcutData* GetKeyboardShortCutTable(size_t* num_entries) {
|
| return keyboard_shortcuts;
|
| }
|
|
|
| -int CommandForKeyboardShortcut(bool command_key, bool shift_key, bool cntrl_key,
|
| - int vkey_code) {
|
| +const KeyboardShortcutData* GetBrowserKeyboardShortcutTable
|
| + (size_t* num_entries) {
|
| + static const KeyboardShortcutData keyboard_shortcuts[] = {
|
| + {true, false, false, kVK_LeftArrow, IDC_BACK},
|
| + {true, false, false, kVK_RightArrow, IDC_FORWARD},
|
| + };
|
| +
|
| + *num_entries = arraysize(keyboard_shortcuts);
|
| +
|
| + return keyboard_shortcuts;
|
| +}
|
| +
|
| +static int CommandForKeyboardShortcut(
|
| + const KeyboardShortcutData* (*get_keyboard_shortcut_table)(size_t*),
|
| + bool command_key, bool shift_key, bool cntrl_key, int vkey_code) {
|
|
|
| // Scan through keycodes and see if it corresponds to one of the global
|
| // shortcuts on file.
|
| @@ -48,7 +57,7 @@ int CommandForKeyboardShortcut(bool command_key, bool shift_key, bool cntrl_key,
|
| // TODO(jeremy): Change this into a hash table once we get enough
|
| // entries in the array to make a difference.
|
| size_t num_shortcuts = 0;
|
| - const KeyboardShortcutData *it = GetKeyboardShortCutTable(&num_shortcuts);
|
| + const KeyboardShortcutData *it = get_keyboard_shortcut_table(&num_shortcuts);
|
| for (size_t i = 0; i < num_shortcuts; ++i, ++it) {
|
| if (it->command_key == command_key &&
|
| it->shift_key == shift_key &&
|
| @@ -60,3 +69,17 @@ int CommandForKeyboardShortcut(bool command_key, bool shift_key, bool cntrl_key,
|
|
|
| return -1;
|
| }
|
| +
|
| +int CommandForWindowKeyboardShortcut(
|
| + bool command_key, bool shift_key, bool cntrl_key, int vkey_code) {
|
| + return CommandForKeyboardShortcut(GetWindowKeyboardShortcutTable,
|
| + command_key, shift_key,
|
| + cntrl_key, vkey_code);
|
| +}
|
| +
|
| +int CommandForBrowserKeyboardShortcut(
|
| + bool command_key, bool shift_key, bool cntrl_key, int vkey_code) {
|
| + return CommandForKeyboardShortcut(GetBrowserKeyboardShortcutTable,
|
| + command_key, shift_key,
|
| + cntrl_key, vkey_code);
|
| +}
|
|
|