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

Side by Side Diff: third_party/polymer/v1_0/components-chromium/iron-a11y-keys-behavior/iron-a11y-keys-behavior-extracted.js

Issue 2074813002: Roll Polymer (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: chromium.patch 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 unified diff | Download patch
OLDNEW
1 (function() { 1 (function() {
2 'use strict'; 2 'use strict';
3 3
4 /** 4 /**
5 * Chrome uses an older version of DOM Level 3 Keyboard Events 5 * Chrome uses an older version of DOM Level 3 Keyboard Events
6 * 6 *
7 * Most keys are labeled as text, but some are Unicode codepoints. 7 * Most keys are labeled as text, but some are Unicode codepoints.
8 * Values taken from: http://www.w3.org/TR/2007/WD-DOM-Level-3-Events-200712 21/keyset.html#KeySet-Set 8 * Values taken from: http://www.w3.org/TR/2007/WD-DOM-Level-3-Events-200712 21/keyset.html#KeySet-Set
9 */ 9 */
10 var KEY_IDENTIFIER = { 10 var KEY_IDENTIFIER = {
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after
161 * keyEvent.key = @ 161 * keyEvent.key = @
162 * To get 2 returned, set noSpecialChars = true 162 * To get 2 returned, set noSpecialChars = true
163 * To get @ returned, set noSpecialChars = false 163 * To get @ returned, set noSpecialChars = false
164 */ 164 */
165 function normalizedKeyForEvent(keyEvent, noSpecialChars) { 165 function normalizedKeyForEvent(keyEvent, noSpecialChars) {
166 // Fall back from .key, to .keyIdentifier, to .keyCode, and then to 166 // Fall back from .key, to .keyIdentifier, to .keyCode, and then to
167 // .detail.key to support artificial keyboard events. 167 // .detail.key to support artificial keyboard events.
168 return transformKey(keyEvent.key, noSpecialChars) || 168 return transformKey(keyEvent.key, noSpecialChars) ||
169 transformKeyIdentifier(keyEvent.keyIdentifier) || 169 transformKeyIdentifier(keyEvent.keyIdentifier) ||
170 transformKeyCode(keyEvent.keyCode) || 170 transformKeyCode(keyEvent.keyCode) ||
171 transformKey(keyEvent.detail.key, noSpecialChars) || ''; 171 transformKey(keyEvent.detail ? keyEvent.detail.key : keyEvent.detail, no SpecialChars) || '';
172 } 172 }
173 173
174 function keyComboMatchesEvent(keyCombo, event) { 174 function keyComboMatchesEvent(keyCombo, event) {
175 // For combos with modifiers we support only alpha-numeric keys 175 // For combos with modifiers we support only alpha-numeric keys
176 var keyEvent = normalizedKeyForEvent(event, keyCombo.hasModifiers); 176 var keyEvent = normalizedKeyForEvent(event, keyCombo.hasModifiers);
177 return keyEvent === keyCombo.key && 177 return keyEvent === keyCombo.key &&
178 (!keyCombo.hasModifiers || ( 178 (!keyCombo.hasModifiers || (
179 !!event.shiftKey === !!keyCombo.shiftKey && 179 !!event.shiftKey === !!keyCombo.shiftKey &&
180 !!event.ctrlKey === !!keyCombo.ctrlKey && 180 !!event.ctrlKey === !!keyCombo.ctrlKey &&
181 !!event.altKey === !!keyCombo.altKey && 181 !!event.altKey === !!keyCombo.altKey &&
(...skipping 257 matching lines...) Expand 10 before | Expand all | Expand 10 after
439 detail: detail, 439 detail: detail,
440 cancelable: true 440 cancelable: true
441 }); 441 });
442 this[handlerName].call(this, event); 442 this[handlerName].call(this, event);
443 if (event.defaultPrevented) { 443 if (event.defaultPrevented) {
444 keyboardEvent.preventDefault(); 444 keyboardEvent.preventDefault();
445 } 445 }
446 } 446 }
447 }; 447 };
448 })(); 448 })();
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698