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

Unified Diff: third_party/WebKit/Source/devtools/front_end/devtools.js

Issue 2033403005: Eradicate keyIndentifier from devtools/* (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Call KeyCodeToKeyIdentifier for unhandle key events Created 4 years, 6 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: third_party/WebKit/Source/devtools/front_end/devtools.js
diff --git a/third_party/WebKit/Source/devtools/front_end/devtools.js b/third_party/WebKit/Source/devtools/front_end/devtools.js
index 1b278045a32cb793cbcf07b635e0bcfe57c602aa..9618a143177a3da3b31421b99f5ad11022257fa9 100644
--- a/third_party/WebKit/Source/devtools/front_end/devtools.js
+++ b/third_party/WebKit/Source/devtools/front_end/devtools.js
@@ -229,10 +229,11 @@ DevToolsAPIImpl.prototype = {
},
/**
- * @param {{type: string, keyIdentifier: string, keyCode: number, modifiers: number}} event
+ * @param {{type: string, key: string, code: string, keyCode: number, modifiers: number}} event
*/
keyEventUnhandled: function(event)
{
+ event.keyIdentifier = keyCodeToKeyIdentifier(event.keyCode);
this._dispatchOnInspectorFrontendAPI("keyEventUnhandled", [event]);
},
@@ -1002,6 +1003,78 @@ function sanitizeRemoteFrontendUrl()
}
}
+var staticKeyIdentifiers = new Map([
+ [0x12, "Alt"],
+ [0x11, "Control"],
+ [0x10, "Shift"],
+ [0x14, "CapsLock"],
+ [0x5b, "Win"],
+ [0x5c, "Win"],
+ [0x0c, "Clear"],
+ [0x28, "Down"],
+ [0x23, "End"],
+ [0x0a, "Enter"],
+ [0x0d, "Enter"],
+ [0x2b, "Execute"],
+ [0x70, "F1"],
+ [0x71, "F2"],
+ [0x72, "F3"],
+ [0x73, "F4"],
+ [0x74, "F5"],
+ [0x75, "F6"],
+ [0x76, "F7"],
+ [0x77, "F8"],
+ [0x78, "F9"],
+ [0x79, "F10"],
+ [0x7a, "F11"],
+ [0x7b, "F12"],
+ [0x7c, "F13"],
+ [0x7d, "F14"],
+ [0x7e, "F15"],
+ [0x7f, "F16"],
+ [0x80, "F17"],
+ [0x81, "F18"],
+ [0x82, "F19"],
+ [0x83, "F20"],
+ [0x84, "F21"],
+ [0x85, "F22"],
+ [0x86, "F23"],
+ [0x87, "F24"],
+ [0x2f, "Help"],
+ [0x24, "Home"],
+ [0x2d, "Insert"],
+ [0x25, "Left"],
+ [0x22, "PageDown"],
+ [0x21, "PageUp"],
+ [0x13, "Pause"],
+ [0x2c, "PrintScreen"],
+ [0x27, "Right"],
+ [0x91, "Scroll"],
+ [0x29, "Select"],
+ [0x26, "Up"],
+ [0x2e, "U+007F"], // Standard says that DEL becomes U+007F.
+ [0xb0, "MediaNextTrack"],
+ [0xb1, "MediaPreviousTrack"],
+ [0xb2, "MediaStop"],
+ [0xb3, "MediaPlayPause"],
+ [0xad, "VolumeMute"],
+ [0xae, "VolumeDown"],
+ [0xaf, "VolumeUp"],
+]);
+
+function keyCodeToKeyIdentifier(keyCode)
+{
+ var result = staticKeyIdentifiers.get(keyCode);
+ if (result !== undefined)
+ return result;
+ result = "U+";
+ var hexString = keyCode.toString(16).toUpperCase();
+ for (var i = hexString.length; i < 4; ++i)
+ result += "0";
+ result += hexString;
+ return result;
+}
+
/**
* @suppressGlobalPropertiesCheck
*/
@@ -1012,6 +1085,16 @@ function installBackwardsCompatibility()
if (window.location.search.indexOf("remoteFrontend") === -1)
return;
+ // Support for legacy (<M53) frontends.
+ if (!window.KeyboardEvent.prototype.hasOwnProperty("keyIdentifier")) {
+ Object.defineProperty(window.KeyboardEvent.prototype, "keyIdentifier", {
+ get: function()
+ {
+ return keyCodeToKeyIdentifier(this.keyCode);
+ }
+ });
+ }
+
// Support for legacy (<M50) frontends.
installObjectObserve();

Powered by Google App Engine
This is Rietveld 408576698