OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 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 | 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 * @fileoverview host pairing screen implementation. | 6 * @fileoverview host pairing screen implementation. |
7 */ | 7 */ |
8 | 8 |
9 login.createScreen('HostPairingScreen', 'host-pairing', function() { | 9 login.createScreen('HostPairingScreen', 'host-pairing', function() { |
10 'use strict'; | 10 'use strict'; |
11 | 11 |
12 // Keep these constants synced with corresponding constants in | 12 // Keep these constants synced with corresponding constants in |
13 // host_pairing_screen_actor.{h,cc}. | 13 // host_pairing_screen_actor.{h,cc}. |
14 /** @const */ var CONTEXT_KEY_PAGE = 'page'; | 14 /** @const */ var CONTEXT_KEY_PAGE = 'page'; |
15 /** @const */ var CONTEXT_KEY_DEVICE_NAME = 'deviceName'; | 15 /** @const */ var CONTEXT_KEY_DEVICE_NAME = 'deviceName'; |
16 /** @const */ var CONTEXT_KEY_CONFIRMATION_CODE = 'code'; | 16 /** @const */ var CONTEXT_KEY_CONFIRMATION_CODE = 'code'; |
17 /** @const */ var CONTEXT_KEY_ENROLLMENT_DOMAIN = 'enrollmentDomain'; | 17 /** @const */ var CONTEXT_KEY_ENROLLMENT_DOMAIN = 'enrollmentDomain'; |
18 /** @const */ var CONTEXT_KEY_UPDATE_PROGRESS = 'updateProgress'; | 18 /** @const */ var CONTEXT_KEY_UPDATE_PROGRESS = 'updateProgress'; |
19 | 19 |
20 /** @const */ var PAGE_WELCOME = 'welcome'; | 20 /** @const */ var PAGE_WELCOME = 'welcome'; |
21 /** @const */ var PAGE_CODE_CONFIRMATION = 'code-confirmation'; | 21 /** @const */ var PAGE_CODE_CONFIRMATION = 'code-confirmation'; |
22 /** @const */ var PAGE_UPDATE = 'update'; | 22 /** @const */ var PAGE_UPDATE = 'update'; |
23 /** @const */ var PAGE_ENROLLMENT_INTRODUCTION = 'enrollment-introduction'; | 23 /** @const */ var PAGE_ENROLLMENT_INTRODUCTION = 'enrollment-introduction'; |
24 /** @const */ var PAGE_ENROLLMENT = 'enrollment'; | 24 /** @const */ var PAGE_ENROLLMENT = 'enrollment'; |
25 /** @const */ var PAGE_ENROLLMENT_ERROR = 'enrollment-error'; | 25 /** @const */ var PAGE_ENROLLMENT_ERROR = 'enrollment-error'; |
26 /** @const */ var PAGE_PAIRING_DONE = 'pairing-done'; | 26 /** @const */ var PAGE_PAIRING_DONE = 'pairing-done'; |
27 | 27 |
| 28 /** @const */ var CALLBACK_CONTEXT_READY = 'contextReady'; |
| 29 |
| 30 |
28 /** @const */ var PAGE_NAMES = [ | 31 /** @const */ var PAGE_NAMES = [ |
29 PAGE_WELCOME, | 32 PAGE_WELCOME, |
30 PAGE_CODE_CONFIRMATION, | 33 PAGE_CODE_CONFIRMATION, |
31 PAGE_UPDATE, | 34 PAGE_UPDATE, |
32 PAGE_ENROLLMENT_INTRODUCTION, | 35 PAGE_ENROLLMENT_INTRODUCTION, |
33 PAGE_ENROLLMENT, | 36 PAGE_ENROLLMENT, |
34 PAGE_ENROLLMENT_ERROR, | 37 PAGE_ENROLLMENT_ERROR, |
35 PAGE_PAIRING_DONE]; | 38 PAGE_PAIRING_DONE]; |
36 | 39 |
37 return { | 40 return { |
38 pages_: null, | 41 pages_: null, |
39 | 42 |
40 /** @override */ | 43 /** @override */ |
41 decorate: function() { | 44 decorate: function() { |
42 this.initialize(); | 45 this.initialize(); |
43 | 46 |
44 this.pages_ = {}; | 47 this.pages_ = {}; |
45 PAGE_NAMES.forEach(function(pageName) { | 48 PAGE_NAMES.forEach(function(pageName) { |
46 var page = this.querySelector('.page-' + pageName); | 49 var page = this.querySelector('.page-' + pageName); |
47 if (page === null) | 50 if (page === null) |
48 throw Error('Page "' + pageName + '" was not found.'); | 51 throw Error('Page "' + pageName + '" was not found.'); |
49 page.hidden = true; | 52 page.hidden = true; |
50 this.pages_[pageName] = page; | 53 this.pages_[pageName] = page; |
51 }, this); | 54 }, this); |
52 | 55 |
53 this.addContextObserver(CONTEXT_KEY_PAGE, this.pageChanged_); | 56 this.addContextObserver(CONTEXT_KEY_PAGE, this.pageChanged_); |
| 57 this.send(CALLBACK_CONTEXT_READY); |
54 }, | 58 }, |
55 | 59 |
56 pageChanged_: function(newPage, oldPage) { | 60 pageChanged_: function(newPage, oldPage) { |
57 this.pageNameLabel_.textContent = '<<<< ' + newPage + ' >>>>'; | 61 this.pageNameLabel_.textContent = '<<<< ' + newPage + ' >>>>'; |
58 this.deviceNameLabel_.textContent = | 62 this.deviceNameLabel_.textContent = |
59 this.context.get(CONTEXT_KEY_DEVICE_NAME); | 63 this.context.get(CONTEXT_KEY_DEVICE_NAME); |
60 | 64 |
61 if (newPage == PAGE_CODE_CONFIRMATION) | 65 if (newPage == PAGE_CODE_CONFIRMATION) |
62 this.confirmationCodeLabel_.textContent = | 66 this.confirmationCodeLabel_.textContent = |
63 this.context.get(CONTEXT_KEY_CONFIRMATION_CODE); | 67 this.context.get(CONTEXT_KEY_CONFIRMATION_CODE); |
(...skipping 18 matching lines...) Expand all Loading... |
82 this.pages_[pageName].hidden = (pageName !== newPage); | 86 this.pages_[pageName].hidden = (pageName !== newPage); |
83 }, this); | 87 }, this); |
84 }, | 88 }, |
85 | 89 |
86 setUpdateProgress_: function(progress) { | 90 setUpdateProgress_: function(progress) { |
87 this.updateProgressBar_.value = progress; | 91 this.updateProgressBar_.value = progress; |
88 } | 92 } |
89 }; | 93 }; |
90 }); | 94 }); |
91 | 95 |
OLD | NEW |