Index: third_party/polymer/v1_0/components-chromium/iron-a11y-keys-behavior/iron-a11y-keys-behavior-extracted.js |
diff --git a/third_party/polymer/v1_0/components-chromium/iron-a11y-keys-behavior/iron-a11y-keys-behavior-extracted.js b/third_party/polymer/v1_0/components-chromium/iron-a11y-keys-behavior/iron-a11y-keys-behavior-extracted.js |
index da5c8adb555800c596656cdb1ba064112f631ca5..bb7f399654d27c836447fbe5dcc85a8d344f29cf 100644 |
--- a/third_party/polymer/v1_0/components-chromium/iron-a11y-keys-behavior/iron-a11y-keys-behavior-extracted.js |
+++ b/third_party/polymer/v1_0/components-chromium/iron-a11y-keys-behavior/iron-a11y-keys-behavior-extracted.js |
@@ -163,12 +163,16 @@ |
* To get @ returned, set noSpecialChars = false |
*/ |
function normalizedKeyForEvent(keyEvent, noSpecialChars) { |
- // Fall back from .key, to .keyIdentifier, to .keyCode, and then to |
- // .detail.key to support artificial keyboard events. |
- return transformKey(keyEvent.key, noSpecialChars) || |
- transformKeyIdentifier(keyEvent.keyIdentifier) || |
- transformKeyCode(keyEvent.keyCode) || |
- transformKey(keyEvent.detail ? keyEvent.detail.key : keyEvent.detail, noSpecialChars) || ''; |
+ // Fall back from .key, to .detail.key for artifical keyboard events, |
+ // and then to deprecated .keyIdentifier and .keyCode. |
+ if (keyEvent.key) { |
+ return transformKey(keyEvent.key, noSpecialChars); |
+ } |
+ if (keyEvent.detail && keyEvent.detail.key) { |
+ return transformKey(keyEvent.detail.key, noSpecialChars); |
+ } |
+ return transformKeyIdentifier(keyEvent.keyIdentifier) || |
+ transformKeyCode(keyEvent.keyCode) || ''; |
} |
function keyComboMatchesEvent(keyCombo, event) { |