Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / components / proximity_auth / webui / resources / eligible-devices.js
blobfa9ce6d4bbd0cdda460c1096778d421c48b3c5fb
1 // Copyright 2015 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.
5 Polymer({
6   is: 'eligible-devices',
8   properties: {
9     /**
10      * List of devices that are eligible to be used as an unlock key.
11      * @type {Array<DeviceInfo>}
12      * @private
13      */
14     eligibleDevices_: {
15       type: Array,
16       value: null,
17     },
19     /**
20      * List of devices that are ineligible to be used as an unlock key.
21      * @type {Array<DeviceInfo>}
22      * @private
23      */
24     ineligibleDevices_: {
25       type: Array,
26       value: null,
27     },
29     /**
30      * Whether the findEligibleUnlockDevices request is in progress.
31      * @type {boolean}
32      * @private
33      */
34     requestInProgress_: Boolean,
35   },
37   /**
38    * Called when this element is added to the DOM.
39    */
40   attached: function() {
41     CryptAuthInterface.addObserver(this);
42   },
44   /**
45    * Called when this element is removed from the DOM.
46    */
47   detatched: function() {
48     CryptAuthInterface.removeObserver(this);
49   },
51   /**
52    * Called when the page is about to be shown.
53    */
54   activate: function() {
55     this.requestInProgress_ = true;
56     this.eligibleDevices_ = null;
57     this.ineligibleDevices_ = null;
58     CryptAuthInterface.findEligibleUnlockDevices();
59   },
61   /**
62    * Called when eligible devices are found.
63    * @param {Array<EligibleDevice>} eligibleDevices
64    * @param {Array<IneligibleDevice>} ineligibleDevices_
65    */
66   onGotEligibleDevices: function(eligibleDevices, ineligibleDevices) {
67     this.requestInProgress_ = false;
68     this.eligibleDevices_ = eligibleDevices;
69     this.ineligibleDevices_ = ineligibleDevices;
70   },
72   /**
73    * Called when the CryptAuth request fails.
74    * @param {string} errorMessage
75    */
76   onCryptAuthError: function(errorMessage) {
77     console.error('CryptAuth request failed: ' + errorMessage);
78     this.requestInProgress_ = false;
79     this.eligibleDevices_ = null;
80     this.ineligibleDevices_ = null;
81   },
82 });