| 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 var localStrings; | |
| 6 var browserBridge; | 5 var browserBridge; |
| 7 | 6 |
| 8 /** | 7 /** |
| 9 * Class that keeps track of current burn process state. | 8 * Class that keeps track of current burn process state. |
| 10 * @param {Object} strings Localized state strings. | 9 * @param {Object} strings Localized state strings. |
| 11 * @constructor | 10 * @constructor |
| 12 */ | 11 */ |
| 13 function State(strings) { | 12 function State(strings) { |
| 14 this.setStrings(strings); | 13 this.setStrings(strings); |
| 15 this.changeState(State.StatesEnum.DEVICE_NONE); | 14 this.changeState(State.StatesEnum.DEVICE_NONE); |
| (...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 95 this.state = newState; | 94 this.state = newState; |
| 96 | 95 |
| 97 $('main-content').className = this.state.cssState; | 96 $('main-content').className = this.state.cssState; |
| 98 | 97 |
| 99 $('status-text').textContent = this.state.statusText; | 98 $('status-text').textContent = this.state.statusText; |
| 100 | 99 |
| 101 if (newState.warningText) | 100 if (newState.warningText) |
| 102 $('warning-text').textContent = this.state.warningText; | 101 $('warning-text').textContent = this.state.warningText; |
| 103 | 102 |
| 104 if (this.isInitialState() && this.state != State.StatesEnum.DEVICE_NONE) { | 103 if (this.isInitialState() && this.state != State.StatesEnum.DEVICE_NONE) { |
| 105 $('warning-button').textContent = localStrings.getString('confirmButton'); | 104 $('warning-button').textContent = loadTimeData.getString('confirmButton'); |
| 106 } else if (this.state == State.StatesEnum.FAIL) { | 105 } else if (this.state == State.StatesEnum.FAIL) { |
| 107 $('warning-button').textContent = | 106 $('warning-button').textContent = |
| 108 localStrings.getString('retryButton'); | 107 loadTimeData.getString('retryButton'); |
| 109 } | 108 } |
| 110 }, | 109 }, |
| 111 | 110 |
| 112 /** | 111 /** |
| 113 * Reset to initial state. | 112 * Reset to initial state. |
| 114 * @param {Array} devices Array of device information. | 113 * @param {Array} devices Array of device information. |
| 115 */ | 114 */ |
| 116 gotoInitialState: function(devices) { | 115 gotoInitialState: function(devices) { |
| 117 if (devices.length == 0) { | 116 if (devices.length == 0) { |
| 118 this.changeState(State.StatesEnum.DEVICE_NONE); | 117 this.changeState(State.StatesEnum.DEVICE_NONE); |
| (...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 177 * @param {string} devicePath Selected device path. | 176 * @param {string} devicePath Selected device path. |
| 178 */ | 177 */ |
| 179 onDeviceSelected: function(label, filePath, devicePath) { | 178 onDeviceSelected: function(label, filePath, devicePath) { |
| 180 $('warning-button').onclick = | 179 $('warning-button').onclick = |
| 181 browserBridge.sendBurnImageMessage.bind(browserBridge, filePath, | 180 browserBridge.sendBurnImageMessage.bind(browserBridge, filePath, |
| 182 devicePath); | 181 devicePath); |
| 183 | 182 |
| 184 this.selectedDevice = devicePath; | 183 this.selectedDevice = devicePath; |
| 185 | 184 |
| 186 $('warning-text').textContent = | 185 $('warning-text').textContent = |
| 187 localStrings.getStringF('warningDevices', label); | 186 loadTimeData.getStringF('warningDevices', label); |
| 188 }, | 187 }, |
| 189 | 188 |
| 190 /** | 189 /** |
| 191 * Selects the specified device based on the specified path. | 190 * Selects the specified device based on the specified path. |
| 192 * @param {string} path Device path. | 191 * @param {string} path Device path. |
| 193 */ | 192 */ |
| 194 selectDevice: function(path) { | 193 selectDevice: function(path) { |
| 195 var element = $('radio-' + path); | 194 var element = $('radio-' + path); |
| 196 element.checked = true; | 195 element.checked = true; |
| 197 element.onclick.apply(element); | 196 element.onclick.apply(element); |
| (...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 296 } | 295 } |
| 297 return undefined; | 296 return undefined; |
| 298 } | 297 } |
| 299 }; | 298 }; |
| 300 | 299 |
| 301 /** | 300 /** |
| 302 * Class that handles communication with chrome. | 301 * Class that handles communication with chrome. |
| 303 * @constructor | 302 * @constructor |
| 304 */ | 303 */ |
| 305 function BrowserBridge() { | 304 function BrowserBridge() { |
| 306 this.currentState = new State(localStrings); | 305 this.currentState = new State(loadTimeData); |
| 307 this.deviceSelection = new DeviceSelection(); | 306 this.deviceSelection = new DeviceSelection(); |
| 308 // We will use these often so it makes sence making them class members to | 307 // We will use these often so it makes sence making them class members to |
| 309 // avoid frequent document.getElementById calls. | 308 // avoid frequent document.getElementById calls. |
| 310 this.progressElement = $('progress-div'); | 309 this.progressElement = $('progress-div'); |
| 311 this.progressText = $('progress-text'); | 310 this.progressText = $('progress-text'); |
| 312 this.progressTimeLeftText = $('pending-time'); | 311 this.progressTimeLeftText = $('pending-time'); |
| 313 } | 312 } |
| 314 | 313 |
| 315 BrowserBridge.prototype = { | 314 BrowserBridge.prototype = { |
| 316 sendCancelMessage: function() { | 315 sendCancelMessage: function() { |
| (...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 419 } | 418 } |
| 420 }, | 419 }, |
| 421 | 420 |
| 422 /** | 421 /** |
| 423 * Updates the current state to report device too small error. | 422 * Updates the current state to report device too small error. |
| 424 * @param {number} deviceSize Received device size. | 423 * @param {number} deviceSize Received device size. |
| 425 */ | 424 */ |
| 426 reportDeviceTooSmall: function(deviceSize) { | 425 reportDeviceTooSmall: function(deviceSize) { |
| 427 this.currentState.changeState(State.StatesEnum.ERROR_DEVICE_TOO_SMALL); | 426 this.currentState.changeState(State.StatesEnum.ERROR_DEVICE_TOO_SMALL); |
| 428 $('warning-text').textContent = | 427 $('warning-text').textContent = |
| 429 localStrings.getStringF('warningNoSpace', deviceSize); | 428 loadTimeData.getStringF('warningNoSpace', deviceSize); |
| 430 }, | 429 }, |
| 431 | 430 |
| 432 /** | 431 /** |
| 433 * Processes click on 'Retry' button in FAIL state. | 432 * Processes click on 'Retry' button in FAIL state. |
| 434 */ | 433 */ |
| 435 onBurnRetry: function() { | 434 onBurnRetry: function() { |
| 436 this.deviceSelection.showDeviceSelection(); | 435 this.deviceSelection.showDeviceSelection(); |
| 437 this.currentState.gotoInitialState(this.deviceSelection.devices); | 436 this.currentState.gotoInitialState(this.deviceSelection.devices); |
| 438 } | 437 } |
| 439 }; | 438 }; |
| 440 | 439 |
| 441 document.addEventListener('DOMContentLoaded', function() { | 440 document.addEventListener('DOMContentLoaded', function() { |
| 442 localStrings = new LocalStrings(); | |
| 443 browserBridge = new BrowserBridge(); | 441 browserBridge = new BrowserBridge(); |
| 444 | 442 |
| 445 jstProcess(new JsEvalContext(templateData), $('more-info-link')); | |
| 446 | |
| 447 $('cancel-button').onclick = | 443 $('cancel-button').onclick = |
| 448 browserBridge.sendCancelMessage.bind(browserBridge); | 444 browserBridge.sendCancelMessage.bind(browserBridge); |
| 449 browserBridge.sendGetDevicesMessage(); | 445 browserBridge.sendGetDevicesMessage(); |
| 450 }); | 446 }); |
| OLD | NEW |