Home | History | Annotate | Download | only in elements
      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