Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(5246)

Unified Diff: chrome/browser/global_keyboard_shortcuts_mac.mm

Issue 251069: Support cmd-left/right for history. (Closed)
Patch Set: comments Created 11 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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);
+}

Powered by Google App Engine
This is Rietveld 408576698