| <!-- |
| Copyright (C) 2016 The Android Open Source Project |
| |
| Licensed under the Apache License, Version 2.0 (the "License"); |
| you may not use this file except in compliance with the License. |
| You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| <link rel="import" href="../../bower_components/polymer/polymer.html"> |
| <link rel="import" href="../../bower_components/iron-a11y-keys-behavior/iron-a11y-keys-behavior.html"> |
| |
| <script> |
| (function(window) { |
| 'use strict'; |
| |
| var getKeyboardEvent = function(e) { |
| return Polymer.dom(e.detail ? e.detail.keyboardEvent : e); |
| }; |
| |
| var KeyboardShortcutBehaviorImpl = { |
| modifierPressed: function(e) { |
| e = getKeyboardEvent(e); |
| // When e is a keyboardEvent, e.event is not null. |
| if (e.event) { e = e.event; } |
| return e.altKey || e.ctrlKey || e.metaKey || e.shiftKey; |
| }, |
| |
| shouldSuppressKeyboardShortcut: function(e) { |
| e = getKeyboardEvent(e); |
| if (e.path[0].tagName === 'INPUT' || e.path[0].tagName === 'TEXTAREA') { |
| return true; |
| } |
| for (var i = 0; i < e.path.length; i++) { |
| if (e.path[i].tagName === 'GR-OVERLAY') { return true; } |
| } |
| return false; |
| }, |
| }; |
| |
| window.Gerrit = window.Gerrit || {}; |
| /** @polymerBehavior Gerrit.KeyboardShortcutBehavior */ |
| window.Gerrit.KeyboardShortcutBehavior = [ |
| Polymer.IronA11yKeysBehavior, |
| KeyboardShortcutBehaviorImpl, |
| ]; |
| })(window); |
| </script> |