OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 Oobe update screen implementation. | 6 * @fileoverview Oobe update screen implementation. |
7 */ | 7 */ |
8 | 8 |
9 login.createScreen('UpdateScreen', 'update', function() { | 9 login.createScreen('UpdateScreen', 'update', function() { |
10 var USER_ACTION_CANCEL_UPDATE_SHORTCUT = 'cancel-update'; | 10 var USER_ACTION_CANCEL_UPDATE_SHORTCUT = 'cancel-update'; |
11 var CONTEXT_KEY_TIME_LEFT_SEC = 'time-left-sec'; | 11 var CONTEXT_KEY_TIME_LEFT_SEC = 'time-left-sec'; |
12 var CONTEXT_KEY_SHOW_TIME_LEFT = 'show-time-left'; | 12 var CONTEXT_KEY_SHOW_TIME_LEFT = 'show-time-left'; |
13 var CONTEXT_KEY_UPDATE_MESSAGE = 'update-msg'; | 13 var CONTEXT_KEY_UPDATE_MESSAGE = 'update-msg'; |
14 var CONTEXT_KEY_SHOW_CURTAIN = 'show-curtain'; | 14 var CONTEXT_KEY_SHOW_CURTAIN = 'show-curtain'; |
15 var CONTEXT_KEY_SHOW_PROGRESS_MESSAGE = 'show-progress-msg'; | 15 var CONTEXT_KEY_SHOW_PROGRESS_MESSAGE = 'show-progress-msg'; |
16 var CONTEXT_KEY_PROGRESS = 'progress'; | 16 var CONTEXT_KEY_PROGRESS = 'progress'; |
17 var CONTEXT_KEY_PROGRESS_MESSAGE = 'progress-msg'; | 17 var CONTEXT_KEY_PROGRESS_MESSAGE = 'progress-msg'; |
18 var CONTEXT_KEY_CANCEL_UPDATE_SHORTCUT_ENABLED = 'cancel-update-enabled'; | 18 var CONTEXT_KEY_CANCEL_UPDATE_SHORTCUT_ENABLED = 'cancel-update-enabled'; |
19 | 19 |
20 return { | 20 return { |
21 EXTERNAL_API: [], | 21 EXTERNAL_API: [], |
22 | 22 |
23 /** @override */ | 23 /** @override */ |
24 decorate: function() { | 24 decorate: function() { |
25 var self = this; | 25 var self = this; |
26 | 26 |
27 this.context.addObserver(CONTEXT_KEY_TIME_LEFT_SEC, | 27 this.context.addObserver( |
28 function(time_left_sec) { | 28 CONTEXT_KEY_TIME_LEFT_SEC, function(time_left_sec) { |
29 self.setEstimatedTimeLeft(time_left_sec); | 29 self.setEstimatedTimeLeft(time_left_sec); |
30 }); | 30 }); |
31 this.context.addObserver(CONTEXT_KEY_SHOW_TIME_LEFT, | 31 this.context.addObserver( |
32 function(show_time_left) { | 32 CONTEXT_KEY_SHOW_TIME_LEFT, function(show_time_left) { |
33 self.showEstimatedTimeLeft(show_time_left); | 33 self.showEstimatedTimeLeft(show_time_left); |
34 }); | 34 }); |
35 this.context.addObserver(CONTEXT_KEY_UPDATE_MESSAGE, | 35 this.context.addObserver( |
36 function(update_msg) { | 36 CONTEXT_KEY_UPDATE_MESSAGE, function(update_msg) { |
37 self.setUpdateMessage(update_msg); | 37 self.setUpdateMessage(update_msg); |
38 }); | 38 }); |
39 this.context.addObserver(CONTEXT_KEY_SHOW_CURTAIN, | 39 this.context.addObserver( |
40 function(show_curtain) { | 40 CONTEXT_KEY_SHOW_CURTAIN, function(show_curtain) { |
41 self.showUpdateCurtain(show_curtain); | 41 self.showUpdateCurtain(show_curtain); |
42 }); | 42 }); |
43 this.context.addObserver(CONTEXT_KEY_SHOW_PROGRESS_MESSAGE, | 43 this.context.addObserver( |
44 function(show_progress_msg) { | 44 CONTEXT_KEY_SHOW_PROGRESS_MESSAGE, function(show_progress_msg) { |
45 self.showProgressMessage(show_progress_msg); | 45 self.showProgressMessage(show_progress_msg); |
46 }); | 46 }); |
47 this.context.addObserver(CONTEXT_KEY_PROGRESS, | 47 this.context.addObserver(CONTEXT_KEY_PROGRESS, function(progress) { |
48 function(progress) { | |
49 self.setUpdateProgress(progress); | 48 self.setUpdateProgress(progress); |
50 }); | 49 }); |
51 this.context.addObserver(CONTEXT_KEY_PROGRESS_MESSAGE, | 50 this.context.addObserver( |
52 function(progress_msg) { | 51 CONTEXT_KEY_PROGRESS_MESSAGE, function(progress_msg) { |
53 self.setProgressMessage(progress_msg); | 52 self.setProgressMessage(progress_msg); |
54 }); | 53 }); |
55 this.context.addObserver(CONTEXT_KEY_CANCEL_UPDATE_SHORTCUT_ENABLED, | 54 this.context.addObserver( |
56 function(enabled) { | 55 CONTEXT_KEY_CANCEL_UPDATE_SHORTCUT_ENABLED, function(enabled) { |
57 $('update-cancel-hint').hidden = !enabled; | 56 $('update-cancel-hint').hidden = !enabled; |
58 $('oobe-update-md').cancelAllowed = enabled; | 57 $('oobe-update-md').cancelAllowed = enabled; |
59 }); | 58 }); |
60 }, | 59 }, |
61 | 60 |
62 /** | 61 /** |
63 * Header text of the screen. | 62 * Header text of the screen. |
64 * @type {string} | 63 * @type {string} |
65 */ | 64 */ |
66 get header() { | 65 get header() { |
67 return loadTimeData.getString('updateScreenTitle'); | 66 return loadTimeData.getString('updateScreenTitle'); |
68 }, | 67 }, |
69 | 68 |
70 /** | 69 /** |
71 * Cancels the screen. | 70 * Cancels the screen. |
72 */ | 71 */ |
73 cancel: function() { | 72 cancel: function() { |
74 // It's safe to act on the accelerator even if it's disabled on official | 73 // It's safe to act on the accelerator even if it's disabled on official |
75 // builds, since Chrome will just ignore this user action in that case. | 74 // builds, since Chrome will just ignore this user action in that case. |
76 var updateCancelHint = $('update-cancel-hint').firstElementChild; | 75 var updateCancelHint = $('update-cancel-hint').firstElementChild; |
77 var message = loadTimeData.getString('cancelledUpdateMessage'); | 76 var message = loadTimeData.getString('cancelledUpdateMessage'); |
78 updateCancelHint.textContent = message; | 77 updateCancelHint.textContent = message; |
79 $('oobe-update-md').setCancelHint(message); | 78 $('oobe-update-md').setCancelHint(message); |
80 this.send(login.Screen.CALLBACK_USER_ACTED, | 79 this.send( |
81 USER_ACTION_CANCEL_UPDATE_SHORTCUT); | 80 login.Screen.CALLBACK_USER_ACTED, USER_ACTION_CANCEL_UPDATE_SHORTCUT); |
82 }, | 81 }, |
83 | 82 |
84 /** | 83 /** |
85 * Sets update's progress bar value. | 84 * Sets update's progress bar value. |
86 * @param {number} progress Percentage of the progress bar. | 85 * @param {number} progress Percentage of the progress bar. |
87 */ | 86 */ |
88 setUpdateProgress: function(progress) { | 87 setUpdateProgress: function(progress) { |
89 $('update-progress-bar').value = progress; | 88 $('update-progress-bar').value = progress; |
90 $('oobe-update-md').progressValue = progress; | 89 $('oobe-update-md').progressValue = progress; |
91 }, | 90 }, |
(...skipping 14 matching lines...) Expand all Loading... |
106 * @param {number} seconds Time left in seconds. | 105 * @param {number} seconds Time left in seconds. |
107 */ | 106 */ |
108 setEstimatedTimeLeft: function(seconds) { | 107 setEstimatedTimeLeft: function(seconds) { |
109 var minutes = Math.ceil(seconds / 60); | 108 var minutes = Math.ceil(seconds / 60); |
110 var message = ''; | 109 var message = ''; |
111 if (minutes > 60) { | 110 if (minutes > 60) { |
112 message = loadTimeData.getString('downloadingTimeLeftLong'); | 111 message = loadTimeData.getString('downloadingTimeLeftLong'); |
113 } else if (minutes > 55) { | 112 } else if (minutes > 55) { |
114 message = loadTimeData.getString('downloadingTimeLeftStatusOneHour'); | 113 message = loadTimeData.getString('downloadingTimeLeftStatusOneHour'); |
115 } else if (minutes > 20) { | 114 } else if (minutes > 20) { |
116 message = loadTimeData.getStringF('downloadingTimeLeftStatusMinutes', | 115 message = loadTimeData.getStringF( |
117 Math.ceil(minutes / 5) * 5); | 116 'downloadingTimeLeftStatusMinutes', Math.ceil(minutes / 5) * 5); |
118 } else if (minutes > 1) { | 117 } else if (minutes > 1) { |
119 message = loadTimeData.getStringF('downloadingTimeLeftStatusMinutes', | 118 message = loadTimeData.getStringF( |
120 minutes); | 119 'downloadingTimeLeftStatusMinutes', minutes); |
121 } else { | 120 } else { |
122 message = loadTimeData.getString('downloadingTimeLeftSmall'); | 121 message = loadTimeData.getString('downloadingTimeLeftSmall'); |
123 } | 122 } |
124 var formattedMessage = | 123 var formattedMessage = loadTimeData.getStringF('downloading', message); |
125 loadTimeData.getStringF('downloading', message); | |
126 $('estimated-time-left').textContent = formattedMessage; | 124 $('estimated-time-left').textContent = formattedMessage; |
127 $('oobe-update-md').estimatedTimeLeft = formattedMessage; | 125 $('oobe-update-md').estimatedTimeLeft = formattedMessage; |
128 }, | 126 }, |
129 | 127 |
130 /** | 128 /** |
131 * Shows or hides info message below progress bar. | 129 * Shows or hides info message below progress bar. |
132 * @param {boolean} visible Are message visible? | 130 * @param {boolean} visible Are message visible? |
133 */ | 131 */ |
134 showProgressMessage: function(visible) { | 132 showProgressMessage: function(visible) { |
135 $('estimated-time-left').hidden = visible; | 133 $('estimated-time-left').hidden = visible; |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
184 }, | 182 }, |
185 | 183 |
186 /** | 184 /** |
187 * Updates localized content of the screen that is not updated via template. | 185 * Updates localized content of the screen that is not updated via template. |
188 */ | 186 */ |
189 updateLocalizedContent: function() { | 187 updateLocalizedContent: function() { |
190 this.setMDMode_(); | 188 this.setMDMode_(); |
191 }, | 189 }, |
192 }; | 190 }; |
193 }); | 191 }); |
OLD | NEW |