Index: Source/devtools/front_end/ui/KeyboardShortcut.js |
diff --git a/Source/devtools/front_end/ui/KeyboardShortcut.js b/Source/devtools/front_end/ui/KeyboardShortcut.js |
index 0d12ed03c7c81262e1641d77eb002a3a9eba35e0..81b2cf081a0a7b36eebfdd27397073f925e39af7 100644 |
--- a/Source/devtools/front_end/ui/KeyboardShortcut.js |
+++ b/Source/devtools/front_end/ui/KeyboardShortcut.js |
@@ -119,7 +119,7 @@ WebInspector.KeyboardShortcut.KeyBindings = {}; |
var descriptor = WebInspector.KeyboardShortcut.Keys[key]; |
if (typeof descriptor === "object" && descriptor["code"]) { |
var name = typeof descriptor["name"] === "string" ? descriptor["name"] : key; |
- WebInspector.KeyboardShortcut.KeyBindings[name] = { code: descriptor["code"] }; |
+ WebInspector.KeyboardShortcut.KeyBindings[name] = descriptor; |
} |
} |
})(); |
@@ -200,25 +200,30 @@ WebInspector.KeyboardShortcut.makeDescriptor = function(key, modifiers) |
/** |
* @param {string} shortcut |
- * @return {number} |
+ * @return {?WebInspector.KeyboardShortcut.Descriptor} |
*/ |
-WebInspector.KeyboardShortcut.makeKeyFromBindingShortcut = function(shortcut) |
+WebInspector.KeyboardShortcut.makeDescriptorFromBindingShortcut = function(shortcut) |
{ |
var parts = shortcut.split(/\+(?!$)/); |
var modifiers = 0; |
+ var keyString; |
for (var i = 0; i < parts.length; ++i) { |
if (typeof WebInspector.KeyboardShortcut.Modifiers[parts[i]] !== "undefined") { |
modifiers |= WebInspector.KeyboardShortcut.Modifiers[parts[i]]; |
continue; |
} |
- console.assert(i === parts.length - 1, "Modifiers-only shortcuts are not allowed (encountered <" + shortcut + ">)"); |
- var key = WebInspector.KeyboardShortcut.Keys[parts[i]] || WebInspector.KeyboardShortcut.KeyBindings[parts[i]]; |
- if (key && key.shiftKey) |
- modifiers |= WebInspector.KeyboardShortcut.Modifiers.Shift; |
- return WebInspector.KeyboardShortcut.makeKey(key ? key.code : parts[i].toLowerCase(), modifiers) |
+ console.assert(i === parts.length - 1, "Only one key other than modifier is allowed in shortcut <" + shortcut + ">"); |
+ keyString = parts[i]; |
+ break; |
} |
- console.assert(false); |
- return 0; |
+ console.assert(keyString, "Modifiers-only shortcuts are not allowed (encountered <" + shortcut + ">)"); |
+ if (!keyString) |
+ return null; |
+ |
+ var key = WebInspector.KeyboardShortcut.Keys[keyString] || WebInspector.KeyboardShortcut.KeyBindings[keyString]; |
+ if (key && key.shiftKey) |
+ modifiers |= WebInspector.KeyboardShortcut.Modifiers.Shift; |
+ return WebInspector.KeyboardShortcut.makeDescriptor(key ? key : keyString, modifiers); |
} |
/** |