| 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 'use strict'; | 5 'use strict'; |
| 6 | 6 |
| 7 /** @suppress {duplicate} */ | 7 /** @suppress {duplicate} */ |
| 8 var remoting = remoting || {}; | 8 var remoting = remoting || {}; |
| 9 | 9 |
| 10 /** @constructor */ |
| 11 remoting.MessageWindowOptions = function() { |
| 12 /** @type {string} */ |
| 13 this.title = ''; |
| 14 |
| 15 /** @type {string} */ |
| 16 this.message = ''; |
| 17 |
| 18 /** @type {string} */ |
| 19 this.buttonLabel = ''; |
| 20 |
| 21 /** @type {string} */ |
| 22 this.cancelButtonLabel = ''; |
| 23 |
| 24 /** @type {function(number):void} */ |
| 25 this.onResult = function() {}; |
| 26 |
| 27 /** @type {number} */ |
| 28 this.duration = 0; |
| 29 |
| 30 /** @type {string} */ |
| 31 this.infobox = ''; |
| 32 |
| 33 /** @type {?function():void} */ |
| 34 this.onTimeout = function() {}; |
| 35 }; |
| 36 |
| 10 /** | 37 /** |
| 11 * Create a new message window. | 38 * Create a new message window. |
| 12 * | 39 * |
| 13 * @param {Object} options Message window create options | 40 * @param {remoting.MessageWindowOptions} options Message window create options |
| 14 * @constructor | 41 * @constructor |
| 15 */ | 42 */ |
| 16 remoting.MessageWindow = function(options) { | 43 remoting.MessageWindow = function(options) { |
| 17 var title = /** @type {string} */ (options.title); | 44 var title = options.title; |
| 18 var message = /** @type {string} */ (options.message); | 45 var message = options.message; |
| 19 var okButtonLabel = /** @type {string} */ (options.buttonLabel); | 46 var okButtonLabel = options.buttonLabel; |
| 20 var cancelButtonLabel = /** @type {string} */ (options.cancelButtonLabel); | 47 var cancelButtonLabel = options.cancelButtonLabel; |
| 21 var onResult = /** @type {function(number):void} */(options.onResult); | 48 var onResult = options.onResult; |
| 22 /** @type {number} */ | |
| 23 var duration = 0; | 49 var duration = 0; |
| 24 if (/** @type {number?} */(options.duration)) { | 50 if (options.duration) { |
| 25 duration = /** @type {number} */(options.duration); | 51 duration = options.duration; |
| 26 } | 52 } |
| 27 /** @type {string} */ | |
| 28 var infobox = ''; | 53 var infobox = ''; |
| 29 if (/** @type {string?} */(options.infobox)) { | 54 if (options.infobox) { |
| 30 infobox = /** @type {string} */(options.infobox); | 55 infobox = options.infobox; |
| 31 } | 56 } |
| 32 var onTimeout = /** @type {?function():void} */ (options.onTimeout); | 57 var onTimeout = options.onTimeout; |
| 33 | 58 |
| 34 /** @type {number} */ | 59 /** @type {number} */ |
| 35 this.id_ = remoting.MessageWindowManager.addMessageWindow(this); | 60 this.id_ = remoting.MessageWindowManager.addMessageWindow(this); |
| 36 | 61 |
| 37 /** @type {?function(number):void} */ | 62 /** @type {?function(number):void} */ |
| 38 this.onResult_ = onResult; | 63 this.onResult_ = onResult; |
| 39 | 64 |
| 40 /** @type {Window} */ | 65 /** @type {Window} */ |
| 41 this.window_ = null; | 66 this.window_ = null; |
| 42 | 67 |
| (...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 176 * @param {string} title The title of the message box. | 201 * @param {string} title The title of the message box. |
| 177 * @param {string} message The message. | 202 * @param {string} message The message. |
| 178 * @param {string} okButtonLabel The text for the primary button. | 203 * @param {string} okButtonLabel The text for the primary button. |
| 179 * @param {string} cancelButtonLabel The text for the secondary button. | 204 * @param {string} cancelButtonLabel The text for the secondary button. |
| 180 * @param {function(number):void} onResult The callback to invoke when the | 205 * @param {function(number):void} onResult The callback to invoke when the |
| 181 * user closes the message window. | 206 * user closes the message window. |
| 182 * @return {remoting.MessageWindow} | 207 * @return {remoting.MessageWindow} |
| 183 */ | 208 */ |
| 184 remoting.MessageWindow.showConfirmWindow = function( | 209 remoting.MessageWindow.showConfirmWindow = function( |
| 185 title, message, okButtonLabel, cancelButtonLabel, onResult) { | 210 title, message, okButtonLabel, cancelButtonLabel, onResult) { |
| 186 var options = { | 211 var options = /** @type {remoting.MessageWindowOptions} */ ({ |
| 187 title: title, | 212 title: title, |
| 188 message: message, | 213 message: message, |
| 189 buttonLabel: okButtonLabel, | 214 buttonLabel: okButtonLabel, |
| 190 cancelButtonLabel: cancelButtonLabel, | 215 cancelButtonLabel: cancelButtonLabel, |
| 191 onResult: onResult | 216 onResult: onResult |
| 192 }; | 217 }); |
| 193 return new remoting.MessageWindow(options); | 218 return new remoting.MessageWindow(options); |
| 194 }; | 219 }; |
| 195 | 220 |
| 196 /** | 221 /** |
| 197 * Static method to create and show a simple message box. | 222 * Static method to create and show a simple message box. |
| 198 * | 223 * |
| 199 * @param {string} title The title of the message box. | 224 * @param {string} title The title of the message box. |
| 200 * @param {string} message The message. | 225 * @param {string} message The message. |
| 201 * @param {string} buttonLabel The text for the primary button. | 226 * @param {string} buttonLabel The text for the primary button. |
| 202 * @param {function(number):void} onResult The callback to invoke when the | 227 * @param {function(number):void} onResult The callback to invoke when the |
| 203 * user closes the message window. | 228 * user closes the message window. |
| 204 * @return {remoting.MessageWindow} | 229 * @return {remoting.MessageWindow} |
| 205 */ | 230 */ |
| 206 remoting.MessageWindow.showMessageWindow = function( | 231 remoting.MessageWindow.showMessageWindow = function( |
| 207 title, message, buttonLabel, onResult) { | 232 title, message, buttonLabel, onResult) { |
| 208 var options = { | 233 var options = /** @type {remoting.MessageWindowOptions} */ ({ |
| 209 title: title, | 234 title: title, |
| 210 message: message, | 235 message: message, |
| 211 buttonLabel: buttonLabel, | 236 buttonLabel: buttonLabel, |
| 212 onResult: onResult | 237 onResult: onResult |
| 213 }; | 238 }); |
| 214 return new remoting.MessageWindow(options); | 239 return new remoting.MessageWindow(options); |
| 215 }; | 240 }; |
| 216 | 241 |
| 217 /** | 242 /** |
| 218 * Static method to create and show an error message box with an "OK" button. | 243 * Static method to create and show an error message box with an "OK" button. |
| 219 * The app will close when the user dismisses the message window. | 244 * The app will close when the user dismisses the message window. |
| 220 * | 245 * |
| 221 * @param {string} title The title of the message box. | 246 * @param {string} title The title of the message box. |
| 222 * @param {string} message The message. | 247 * @param {string} message The message. |
| 223 * @return {remoting.MessageWindow} | 248 * @return {remoting.MessageWindow} |
| 224 */ | 249 */ |
| 225 remoting.MessageWindow.showErrorMessage = function(title, message) { | 250 remoting.MessageWindow.showErrorMessage = function(title, message) { |
| 226 var options = { | 251 var options = /** @type {remoting.MessageWindowOptions} */ ({ |
| 227 title: title, | 252 title: title, |
| 228 message: message, | 253 message: message, |
| 229 buttonLabel: chrome.i18n.getMessage(/**i18n-content*/'OK'), | 254 buttonLabel: chrome.i18n.getMessage(/**i18n-content*/'OK'), |
| 230 onResult: remoting.MessageWindow.quitApp | 255 onResult: remoting.MessageWindow.quitApp |
| 231 }; | 256 }); |
| 232 return new remoting.MessageWindow(options); | 257 return new remoting.MessageWindow(options); |
| 233 }; | 258 }; |
| 234 | 259 |
| 235 /** | 260 /** |
| 236 * Static method to create and show a timed message box. | 261 * Static method to create and show a timed message box. |
| 237 * | 262 * |
| 238 * @param {string} title The title of the message box. | 263 * @param {string} title The title of the message box. |
| 239 * @param {string} message The message. | 264 * @param {string} message The message. |
| 240 * @param {string} infobox Additional information to be displayed in an infobox, | 265 * @param {string} infobox Additional information to be displayed in an infobox, |
| 241 * or the empty string if there is no additional information. | 266 * or the empty string if there is no additional information. |
| 242 * @param {string} buttonLabel The text for the primary button. | 267 * @param {string} buttonLabel The text for the primary button. |
| 243 * @param {function(number):void} onResult The callback to invoke when the | 268 * @param {function(number):void} onResult The callback to invoke when the |
| 244 * user closes the message window. | 269 * user closes the message window. |
| 245 * @param {number} duration Time for wait before calling onTime | 270 * @param {number} duration Time for wait before calling onTime |
| 246 * @param {?function():void} onTimeout Callback function. | 271 * @param {?function():void} onTimeout Callback function. |
| 247 * @return {remoting.MessageWindow} | 272 * @return {remoting.MessageWindow} |
| 248 */ | 273 */ |
| 249 remoting.MessageWindow.showTimedMessageWindow = function( | 274 remoting.MessageWindow.showTimedMessageWindow = function( |
| 250 title, message, infobox, buttonLabel, onResult, duration, onTimeout) { | 275 title, message, infobox, buttonLabel, onResult, duration, onTimeout) { |
| 251 var options = { | 276 var options = /** @type {remoting.MessageWindowOptions} */ ({ |
| 252 title: title, | 277 title: title, |
| 253 message: message, | 278 message: message, |
| 254 infobox: infobox, | 279 infobox: infobox, |
| 255 buttonLabel: buttonLabel, | 280 buttonLabel: buttonLabel, |
| 256 onResult: onResult, | 281 onResult: onResult, |
| 257 duration: duration, | 282 duration: duration, |
| 258 onTimeout: onTimeout | 283 onTimeout: onTimeout |
| 259 }; | 284 }); |
| 260 return new remoting.MessageWindow(options); | 285 return new remoting.MessageWindow(options); |
| 261 }; | 286 }; |
| 262 | 287 |
| 263 /** | 288 /** |
| 264 * Cancel the current connection and close all app windows. | 289 * Cancel the current connection and close all app windows. |
| 265 * | 290 * |
| 266 * @param {number} result The dialog result. | 291 * @param {number} result The dialog result. |
| 267 */ | 292 */ |
| 268 remoting.MessageWindow.quitApp = function(result) { | 293 remoting.MessageWindow.quitApp = function(result) { |
| 269 remoting.MessageWindowManager.closeAllMessageWindows(); | 294 remoting.MessageWindowManager.closeAllMessageWindows(); |
| 270 window.close(); | 295 window.close(); |
| 271 }; | 296 }; |
| OLD | NEW |