1 // Copyright 2014 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 Polymer('kb-altkey-container', { 6 resetActiveElement: function() { 7 var activeAccentKeySet = this.querySelector('#' + this.keyset); 8 var offset = activeAccentKeySet.offset; 9 var element = activeAccentKeySet.firstElementChild; 10 while (offset) { 11 element = element.nextElementSibling; 12 offset--; 13 } 14 element.classList.add('active'); 15 }, 16 up: function(detail) { 17 this.hidden = true; 18 this.resetActiveElement(); 19 this.keyset = null; 20 }, 21 out: function(event) { 22 // Check if touch is outside container boundaries. 23 if(!(this.compareDocumentPosition(event.relatedTarget) 24 & Node.DOCUMENT_POSITION_CONTAINED_BY)) { 25 this.hidden = true; 26 } 27 }, 28 29 hiddenChanged: function() { 30 this.fire('stateChange', { 31 state: 'candidatePopupVisibility', 32 value: !!this.hidden 33 }); 34 }, 35 }); 36