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

Unified Diff: ui/webui/resources/js/util.js

Issue 2104103002: Convert Event#keyIdentifier (deprecated) to Event#key (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Add a few more stragglers 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
« no previous file with comments | « ui/webui/resources/js/cr/ui/tree.js ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/webui/resources/js/util.js
diff --git a/ui/webui/resources/js/util.js b/ui/webui/resources/js/util.js
index 048a674ed1980061b6cb9802866a25fefdd75a55..5c06646e21e840afc73b0627708e24c72c431ea9 100644
--- a/ui/webui/resources/js/util.js
+++ b/ui/webui/resources/js/util.js
@@ -372,3 +372,67 @@ function elide(original, maxLength) {
function quoteString(str) {
return str.replace(/([\\\.\+\*\?\[\^\]\$\(\)\{\}\=\!\<\>\|\:])/g, '\\$1');
}
+
Dan Beam 2016/06/29 18:28:09 nit: remove extra \n
dtapuska 2016/06/29 20:09:02 Done.
+
+// Polyfill 'key' in KeyboardEvent for iOS.
+// This function is not intended to be complete but should
+// be sufficient enough to have iOS work correctly while
+// it does not support key yet.
+if (!('key' in KeyboardEvent.prototype)) {
Dan Beam 2016/06/29 18:28:09 I think it's cool that you're doing runtime featur
dtapuska 2016/06/29 20:09:02 Done.
+ var keyGetter = {
Dan Beam 2016/06/29 18:28:09 can we just inline keyGetter? -1 global Object.d
dtapuska 2016/06/29 20:09:02 Done.
+ get: function () {
+ // 0-9
+ if (this.keyCode >= 0x30 && this.keyCode <= 0x39)
+ return String.fromCharCode(this.keyCode);
Dan Beam 2016/06/29 18:28:09 indent off
dtapuska 2016/06/29 20:09:02 Done.
+
+ // A-Z
+ if (this.keyCode >= 0x41 && this.keyCode <= 0x5a) {
+ var result = String.fromCharCode(this.keyCode).toLowerCase();
+ if (this.shiftKey)
+ result = result.toUpperCase();
+ return result;
Dan Beam 2016/06/29 18:28:09 indent off
dtapuska 2016/06/29 20:09:02 Done.
+ }
+
+ // Special characters
+ switch(this.keyCode) {
+ case 0x08: return 'Backspace';
+ case 0x09: return 'Tab';
+ case 0x0d: return 'Enter';
+ case 0x10: return 'Shift';
+ case 0x11: return 'Control';
+ case 0x12: return 'Alt';
+ case 0x1b: return 'Escape';
+ case 0x20: return ' ';
+ case 0x21: return 'PageUp';
+ case 0x22: return 'PageDown';
+ case 0x23: return 'End';
+ case 0x24: return 'Home';
+ case 0x25: return 'ArrowLeft';
+ case 0x26: return 'ArrowUp';
+ case 0x27: return 'ArrowRight';
+ case 0x28: return 'ArrowDown';
+ case 0x2d: return 'Insert';
+ case 0x2e: return 'Delete';
+ case 0x5b: return 'Meta';
+ case 0x70: return 'F1';
+ case 0x71: return 'F2';
+ case 0x72: return 'F3';
+ case 0x73: return 'F4';
+ case 0x74: return 'F5';
+ case 0x75: return 'F6';
+ case 0x76: return 'F7';
+ case 0x77: return 'F8';
+ case 0x78: return 'F9';
+ case 0x79: return 'F10';
+ case 0x7a: return 'F11';
+ case 0x7b: return 'F12';
+ case 0xbb: return '=';
+ case 0xbd: return '-';
+ case 0xdb: return '[';
+ case 0xdd: return ']';
+ }
+ return 'Unidentified';
+ }
+ };
+ Object.defineProperty(KeyboardEvent.prototype, 'key', keyGetter);
+}
« no previous file with comments | « ui/webui/resources/js/cr/ui/tree.js ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698