OLD | NEW |
1 /* Copyright 2017 The Chromium Authors. All rights reserved. | 1 /* Copyright 2017 The Chromium Authors. All rights reserved. |
2 * Use of this source code is governed by a BSD-style license that can be | 2 * Use of this source code is governed by a BSD-style license that can be |
3 * found in the LICENSE file. | 3 * found in the LICENSE file. |
4 */ | 4 */ |
5 | 5 |
6 ProximityAuth = { | 6 ProximityAuth = { |
7 cryptauthController_: null, | 7 cryptauthController_: null, |
8 remoteDevicesController_: null, | 8 remoteDevicesController_: null, |
9 findEligibleDevicesController_: null, | 9 findEligibleDevicesController_: null, |
10 | 10 |
11 /** | 11 /** |
12 * Initializes all UI elements of the ProximityAuth debug page. | 12 * Initializes all UI elements of the ProximityAuth debug page. |
13 */ | 13 */ |
14 init: function() { | 14 init: function() { |
15 ProximityAuth.cryptauthController_ = new CryptAuthController(); | 15 ProximityAuth.cryptauthController_ = new CryptAuthController(); |
16 ProximityAuth.remoteDevicesController_ = new DeviceListController( | 16 ProximityAuth.remoteDevicesController_ = new DeviceListController( |
17 document.getElementById('remote-devices-control'), true, false); | 17 document.getElementById('remote-devices-control'), true, false); |
18 ProximityAuth.eligibleDevicesController_ = new EligibleDevicesController(); | 18 ProximityAuth.eligibleDevicesController_ = new EligibleDevicesController(); |
19 WebUI.getLocalState(); | 19 WebUI.getLocalState(); |
20 } | 20 } |
21 }; | 21 }; |
22 | 22 |
23 /** | 23 /** |
24 * Controller for the CryptAuth controls section. | 24 * Controller for the CryptAuth controls section. |
25 */ | 25 */ |
26 class CryptAuthController { | 26 class CryptAuthController { |
27 constructor() { | 27 constructor() { |
28 this.elements_ = { | 28 this.elements_ = { |
29 publicKey: document.getElementById('public-key'), | 29 localDeviceId: document.getElementById('local-device-id'), |
30 gcmRegistration: document.getElementById('gcm-registration'), | 30 gcmRegistration: document.getElementById('gcm-registration'), |
31 currentEid: document.getElementById('current-eid'), | 31 currentEid: document.getElementById('current-eid'), |
32 enrollmentTitle: document.getElementById('enrollment-title'), | 32 enrollmentTitle: document.getElementById('enrollment-title'), |
33 lastEnrollment: document.getElementById('last-enrollment'), | 33 lastEnrollment: document.getElementById('last-enrollment'), |
34 nextEnrollment: document.getElementById('next-enrollment'), | 34 nextEnrollment: document.getElementById('next-enrollment'), |
35 enrollmentButton: document.getElementById('force-enrollment'), | 35 enrollmentButton: document.getElementById('force-enrollment'), |
36 deviceSyncTitle: document.getElementById('device-sync-title'), | 36 deviceSyncTitle: document.getElementById('device-sync-title'), |
37 lastDeviceSync: document.getElementById('last-device-sync'), | 37 lastDeviceSync: document.getElementById('last-device-sync'), |
38 nextDeviceSync: document.getElementById('next-device-sync'), | 38 nextDeviceSync: document.getElementById('next-device-sync'), |
39 deviceSyncButton: document.getElementById('force-device-sync'), | 39 deviceSyncButton: document.getElementById('force-device-sync'), |
40 }; | 40 }; |
41 | 41 |
42 this.elements_.enrollmentButton.onclick = this.forceEnrollment_.bind(this); | 42 this.elements_.enrollmentButton.onclick = this.forceEnrollment_.bind(this); |
43 this.elements_.deviceSyncButton.onclick = this.forceDeviceSync_.bind(this); | 43 this.elements_.deviceSyncButton.onclick = this.forceDeviceSync_.bind(this); |
44 } | 44 } |
45 | 45 |
46 /** | 46 /** |
| 47 * Sets the local device's ID. Note that this value is truncated since the |
| 48 * full value is very long and does not cleanly fit on the screen. |
| 49 */ |
| 50 setLocalDeviceId(deviceIdTruncated) { |
| 51 this.elements_.localDeviceId.textContent = deviceIdTruncated; |
| 52 } |
| 53 |
| 54 /** |
47 * Update the enrollment state in the UI. | 55 * Update the enrollment state in the UI. |
48 */ | 56 */ |
49 updateEnrollmentState(state) { | 57 updateEnrollmentState(state) { |
50 this.elements_.lastEnrollment.textContent = | 58 this.elements_.lastEnrollment.textContent = |
51 this.getLastSyncTimeString_(state, 'Never enrolled'); | 59 this.getLastSyncTimeString_(state, 'Never enrolled'); |
52 this.elements_.nextEnrollment.textContent = | 60 this.elements_.nextEnrollment.textContent = |
53 this.getNextRefreshString_(state); | 61 this.getNextRefreshString_(state); |
54 | 62 |
55 if (state['recoveringFromFailure']) { | 63 if (state['recoveringFromFailure']) { |
56 this.elements_.enrollmentTitle.setAttribute('state', 'failure'); | 64 this.elements_.enrollmentTitle.setAttribute('state', 'failure'); |
(...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
246 */ | 254 */ |
247 findEligibleUnlockDevices_() { | 255 findEligibleUnlockDevices_() { |
248 WebUI.findEligibleUnlockDevices(); | 256 WebUI.findEligibleUnlockDevices(); |
249 } | 257 } |
250 } | 258 } |
251 | 259 |
252 /** | 260 /** |
253 * Interface for the native WebUI to call into our JS. | 261 * Interface for the native WebUI to call into our JS. |
254 */ | 262 */ |
255 LocalStateInterface = { | 263 LocalStateInterface = { |
256 onGotLocalState: function(enrollmentState, deviceSyncState, remoteDevices) { | 264 onGotLocalState: function( |
| 265 localDeviceId, enrollmentState, deviceSyncState, remoteDevices) { |
| 266 LocalStateInterface.setLocalDeviceId(localDeviceId); |
257 LocalStateInterface.onEnrollmentStateChanged(enrollmentState); | 267 LocalStateInterface.onEnrollmentStateChanged(enrollmentState); |
258 LocalStateInterface.onDeviceSyncStateChanged(deviceSyncState); | 268 LocalStateInterface.onDeviceSyncStateChanged(deviceSyncState); |
259 LocalStateInterface.onRemoteDevicesChanged(remoteDevices); | 269 LocalStateInterface.onRemoteDevicesChanged(remoteDevices); |
260 }, | 270 }, |
261 | 271 |
| 272 setLocalDeviceId: function(localDeviceId) { |
| 273 ProximityAuth.cryptauthController_.setLocalDeviceId(localDeviceId); |
| 274 }, |
| 275 |
262 onEnrollmentStateChanged: function(enrollmentState) { | 276 onEnrollmentStateChanged: function(enrollmentState) { |
263 ProximityAuth.cryptauthController_.updateEnrollmentState(enrollmentState); | 277 ProximityAuth.cryptauthController_.updateEnrollmentState(enrollmentState); |
264 }, | 278 }, |
265 | 279 |
266 onDeviceSyncStateChanged: function(deviceSyncState) { | 280 onDeviceSyncStateChanged: function(deviceSyncState) { |
267 ProximityAuth.cryptauthController_.updateDeviceSyncState(deviceSyncState); | 281 ProximityAuth.cryptauthController_.updateDeviceSyncState(deviceSyncState); |
268 }, | 282 }, |
269 | 283 |
270 onRemoteDevicesChanged: function(remoteDevices) { | 284 onRemoteDevicesChanged: function(remoteDevices) { |
271 ProximityAuth.remoteDevicesController_.updateRemoteDevices(remoteDevices); | 285 ProximityAuth.remoteDevicesController_.updateRemoteDevices(remoteDevices); |
272 } | 286 } |
273 }; | 287 }; |
274 | 288 |
275 /** | 289 /** |
276 * Interface for the native WebUI to call into our JS. | 290 * Interface for the native WebUI to call into our JS. |
277 */ | 291 */ |
278 CryptAuthInterface = { | 292 CryptAuthInterface = { |
279 onGotEligibleDevices: function(eligibleDevices, ineligibleDevices) { | 293 onGotEligibleDevices: function(eligibleDevices, ineligibleDevices) { |
280 ProximityAuth.eligibleDevicesController_.updateEligibleDevices( | 294 ProximityAuth.eligibleDevicesController_.updateEligibleDevices( |
281 eligibleDevices, ineligibleDevices); | 295 eligibleDevices, ineligibleDevices); |
282 } | 296 } |
283 }; | 297 }; |
284 | 298 |
285 document.addEventListener('DOMContentLoaded', function() { | 299 document.addEventListener('DOMContentLoaded', function() { |
286 WebUI.onWebContentsInitialized(); | 300 WebUI.onWebContentsInitialized(); |
287 Logs.init(); | 301 Logs.init(); |
288 ProximityAuth.init(); | 302 ProximityAuth.init(); |
289 }); | 303 }); |
OLD | NEW |