| 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 |