| OLD | NEW |
| 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 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 /** | 7 /** |
| 8 * SuggestAppsDialog contains a list box to select an app to be opened the file | 8 * SuggestAppsDialog contains a list box to select an app to be opened the file |
| 9 * with. This dialog should be used as action picker for file operations. | 9 * with. This dialog should be used as action picker for file operations. |
| 10 */ | 10 */ |
| (...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 82 * @type {RegExp} | 82 * @type {RegExp} |
| 83 * @const | 83 * @const |
| 84 */ | 84 */ |
| 85 var REGEXP_LOCALHOST_MATCH = /^https?:\/\/localhost(?:\:\d{1,5})?$/; | 85 var REGEXP_LOCALHOST_MATCH = /^https?:\/\/localhost(?:\:\d{1,5})?$/; |
| 86 | 86 |
| 87 /** | 87 /** |
| 88 * Creates dialog in DOM tree. | 88 * Creates dialog in DOM tree. |
| 89 * | 89 * |
| 90 * @param {HTMLElement} parentNode Node to be parent for this dialog. | 90 * @param {HTMLElement} parentNode Node to be parent for this dialog. |
| 91 * @constructor | 91 * @constructor |
| 92 * @extends {cr.ui.dialogs.BaseDialog} | 92 * @extends {FileManagerDialogBase} |
| 93 */ | 93 */ |
| 94 function SuggestAppsDialog(parentNode) { | 94 function SuggestAppsDialog(parentNode) { |
| 95 cr.ui.dialogs.BaseDialog.call(this, parentNode); | 95 FileManagerDialogBase.call(this, parentNode); |
| 96 | 96 |
| 97 this.frame_.id = 'suggest-app-dialog'; | 97 this.frame_.id = 'suggest-app-dialog'; |
| 98 | 98 |
| 99 this.spinnerWrapper_ = this.document_.createElement('div'); | 99 this.spinnerWrapper_ = this.document_.createElement('div'); |
| 100 this.spinnerWrapper_.className = 'spinner-container'; | 100 this.spinnerWrapper_.className = 'spinner-container'; |
| 101 this.spinnerWrapper_.style.width = SPINNER_WIDTH + 'px'; | 101 this.spinnerWrapper_.style.width = SPINNER_WIDTH + 'px'; |
| 102 this.spinnerWrapper_.style.height = SPINNER_HEIGHT + 'px'; | 102 this.spinnerWrapper_.style.height = SPINNER_HEIGHT + 'px'; |
| 103 this.spinnerWrapper_.hidden = true; | 103 this.spinnerWrapper_.hidden = true; |
| 104 this.frame_.appendChild(this.spinnerWrapper_); | 104 this.frame_.appendChild(this.spinnerWrapper_); |
| 105 | 105 |
| (...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 154 this.mime_ = null; | 154 this.mime_ = null; |
| 155 this.installingItemId_ = null; | 155 this.installingItemId_ = null; |
| 156 this.state_ = SuggestAppsDialog.State.UNINITIALIZED; | 156 this.state_ = SuggestAppsDialog.State.UNINITIALIZED; |
| 157 | 157 |
| 158 this.initializationTask_ = new AsyncUtil.Group(); | 158 this.initializationTask_ = new AsyncUtil.Group(); |
| 159 this.initializationTask_.add(this.retrieveAuthorizeToken_.bind(this)); | 159 this.initializationTask_.add(this.retrieveAuthorizeToken_.bind(this)); |
| 160 this.initializationTask_.run(); | 160 this.initializationTask_.run(); |
| 161 } | 161 } |
| 162 | 162 |
| 163 SuggestAppsDialog.prototype = { | 163 SuggestAppsDialog.prototype = { |
| 164 __proto__: cr.ui.dialogs.BaseDialog.prototype | 164 __proto__: FileManagerDialogBase.prototype |
| 165 }; | 165 }; |
| 166 | 166 |
| 167 /** | 167 /** |
| 168 * @enum {string} | 168 * @enum {string} |
| 169 * @const | 169 * @const |
| 170 */ | 170 */ |
| 171 SuggestAppsDialog.State = { | 171 SuggestAppsDialog.State = { |
| 172 UNINITIALIZED: 'SuggestAppsDialog.State.UNINITIALIZED', | 172 UNINITIALIZED: 'SuggestAppsDialog.State.UNINITIALIZED', |
| 173 INITIALIZING: 'SuggestAppsDialog.State.INITIALIZING', | 173 INITIALIZING: 'SuggestAppsDialog.State.INITIALIZING', |
| 174 INITIALIZE_FAILED_CLOSING: | 174 INITIALIZE_FAILED_CLOSING: |
| (...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 260 this.state_ = SuggestAppsDialog.State.INITIALIZING; | 260 this.state_ = SuggestAppsDialog.State.INITIALIZING; |
| 261 | 261 |
| 262 // Makes it sure that the initialization is completed. | 262 // Makes it sure that the initialization is completed. |
| 263 this.initializationTask_.run(function() { | 263 this.initializationTask_.run(function() { |
| 264 var title = str('SUGGEST_DIALOG_TITLE'); | 264 var title = str('SUGGEST_DIALOG_TITLE'); |
| 265 | 265 |
| 266 // TODO(yoshiki): Remove this before ShareDialog launches. | 266 // TODO(yoshiki): Remove this before ShareDialog launches. |
| 267 if (this.urlOverrided_) | 267 if (this.urlOverrided_) |
| 268 title += ' [OVERRIDED]'; | 268 title += ' [OVERRIDED]'; |
| 269 | 269 |
| 270 cr.ui.dialogs.BaseDialog.prototype.showWithTitle.apply( | 270 var show = |
| 271 this, [title, '', function() {}, null, null]); | 271 FileManagerDialogBase.prototype.showTitleOnlyDialog.call(this, title); |
| 272 if (!show) { |
| 273 console.error('SuggestAppsDialog can\'t be shown'); |
| 274 this.state_ = SuggestAppsDialog.State.UNINITIALIZED; |
| 275 this.onHide(); |
| 276 return; |
| 277 } |
| 272 | 278 |
| 273 this.webviewContainer_.innerHTML = | 279 this.webviewContainer_.innerHTML = |
| 274 '<webview id="cws-widget" partition="persist:cwswidgets"></webview>'; | 280 '<webview id="cws-widget" partition="persist:cwswidgets"></webview>'; |
| 275 this.webviewContainer_.classList.remove('loaded'); | 281 this.webviewContainer_.classList.remove('loaded'); |
| 276 this.webviewContainer_.style.width = SPINNER_WIDTH + 'px'; | 282 this.webviewContainer_.style.width = SPINNER_WIDTH + 'px'; |
| 277 this.webviewContainer_.style.height = SPINNER_HEIGHT + 'px'; | 283 this.webviewContainer_.style.height = SPINNER_HEIGHT + 'px'; |
| 278 | 284 |
| 279 this.webview_ = this.container_.querySelector('#cws-widget'); | 285 this.webview_ = this.container_.querySelector('#cws-widget'); |
| 280 this.webview_.request.onBeforeSendHeaders.addListener( | 286 this.webview_.request.onBeforeSendHeaders.addListener( |
| 281 this.authorizeRequest_.bind(this), | 287 this.authorizeRequest_.bind(this), |
| (...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 417 | 423 |
| 418 if (this.webviewClient_) { | 424 if (this.webviewClient_) { |
| 419 this.webviewClient_.dispose(); | 425 this.webviewClient_.dispose(); |
| 420 this.webviewClient_ = null; | 426 this.webviewClient_ = null; |
| 421 } | 427 } |
| 422 | 428 |
| 423 this.webviewContainer_.innerHTML = ''; | 429 this.webviewContainer_.innerHTML = ''; |
| 424 this.extension_ = null; | 430 this.extension_ = null; |
| 425 this.mime_ = null; | 431 this.mime_ = null; |
| 426 | 432 |
| 427 cr.ui.dialogs.BaseDialog.prototype.hide.call( | 433 FileManagerDialogBase.prototype.hide.call( |
| 428 this, | 434 this, |
| 429 this.onHide_.bind(this, opt_originalOnHide)); | 435 this.onHide_.bind(this, opt_originalOnHide)); |
| 430 }; | 436 }; |
| 431 | 437 |
| 432 /** | 438 /** |
| 433 * @param {function()=} opt_originalOnHide Original onHide function passed to | 439 * @param {function()=} opt_originalOnHide Original onHide function passed to |
| 434 * SuggestAppsDialog.hide(). | 440 * SuggestAppsDialog.hide(). |
| 435 * @private | 441 * @private |
| 436 */ | 442 */ |
| 437 SuggestAppsDialog.prototype.onHide_ = function(opt_originalOnHide) { | 443 SuggestAppsDialog.prototype.onHide_ = function(opt_originalOnHide) { |
| (...skipping 16 matching lines...) Expand all Loading... |
| 454 result = SuggestAppsDialog.Result.USER_CANCELL; | 460 result = SuggestAppsDialog.Result.USER_CANCELL; |
| 455 break; | 461 break; |
| 456 default: | 462 default: |
| 457 result = SuggestAppsDialog.Result.USER_CANCELL; | 463 result = SuggestAppsDialog.Result.USER_CANCELL; |
| 458 console.error('Invalid state.'); | 464 console.error('Invalid state.'); |
| 459 } | 465 } |
| 460 this.state_ = SuggestAppsDialog.State.UNINITIALIZED; | 466 this.state_ = SuggestAppsDialog.State.UNINITIALIZED; |
| 461 | 467 |
| 462 this.onDialogClosed_(result); | 468 this.onDialogClosed_(result); |
| 463 }; | 469 }; |
| OLD | NEW |