Chromium Code Reviews| 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 /** | 5 /** |
| 6 * @fileoverview | 6 * @fileoverview |
| 7 * Interface abstracting the Application functionality. | 7 * Interface abstracting the Application functionality. |
| 8 */ | 8 */ |
| 9 | 9 |
| 10 'use strict'; | 10 'use strict'; |
| 11 | 11 |
| 12 /** @suppress {duplicate} */ | 12 /** @suppress {duplicate} */ |
| 13 var remoting = remoting || {}; | 13 var remoting = remoting || {}; |
| 14 | 14 |
| 15 /** | 15 /** |
| 16 * @type {remoting.ClientSession} The client session object, set once the | 16 * @type {remoting.ClientSession} The client session object, set once the |
| 17 * connector has invoked its onOk callback. | 17 * connector has invoked its onOk callback. |
| 18 * TODO(garykac): Make clientSession a member var of Application. | 18 * TODO(garykac): Make clientSession a member var of Application. |
| 19 */ | 19 */ |
| 20 remoting.clientSession = null; | 20 remoting.clientSession = null; |
|
kelvinp
2015/03/06 02:58:37
Please also moves it to sessionConnector, if you a
garykac
2015/03/06 23:38:33
Done.
| |
| 21 | 21 |
| 22 /** | 22 /** |
| 23 * @type {remoting.DesktopConnectedView} The client session view object, set | 23 * @type {remoting.DesktopConnectedView} The client session view object, set |
| 24 * once the connector has invoked its onOk callback. | 24 * once the connector has invoked its onOk callback. |
| 25 */ | 25 */ |
| 26 remoting.desktopConnectedView = null; | 26 remoting.desktopConnectedView = null; |
| 27 | 27 |
| 28 /** | 28 /** |
| 29 * @param {Array<string>} app_capabilities Array of application capabilities. | 29 * @param {Array<string>} app_capabilities Array of application capabilities. |
| 30 * @constructor | 30 * @constructor |
| (...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 117 } | 117 } |
| 118 }; | 118 }; |
| 119 | 119 |
| 120 /** | 120 /** |
| 121 * Called when a new session has been connected. | 121 * Called when a new session has been connected. |
| 122 * | 122 * |
| 123 * @param {remoting.ClientSession} clientSession | 123 * @param {remoting.ClientSession} clientSession |
| 124 * @return {void} Nothing. | 124 * @return {void} Nothing. |
| 125 */ | 125 */ |
| 126 remoting.Application.prototype.onConnected = function(clientSession) { | 126 remoting.Application.prototype.onConnected = function(clientSession) { |
| 127 remoting.clientSession = clientSession; | |
| 128 this.sessionConnectedHooks_ = new base.Disposables( | 127 this.sessionConnectedHooks_ = new base.Disposables( |
| 129 new base.EventHook( | 128 new base.EventHook( |
| 130 clientSession, 'stateChanged', this.onClientStateChange_.bind(this)), | 129 clientSession, 'stateChanged', this.onClientStateChange_.bind(this)), |
| 131 new base.RepeatingTimer(this.updateStatistics_.bind(this), 1000) | 130 new base.RepeatingTimer(this.updateStatistics_.bind(this), 1000) |
| 132 ); | 131 ); |
| 133 remoting.clipboard.startSession(); | 132 remoting.clipboard.startSession(); |
| 134 | 133 |
| 135 this.delegate_.handleConnected(clientSession); | 134 this.delegate_.handleConnected(clientSession); |
| 136 }; | 135 }; |
| 137 | 136 |
| (...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 242 default: | 241 default: |
| 243 console.error('Unexpected client plugin state: ' + state.current); | 242 console.error('Unexpected client plugin state: ' + state.current); |
| 244 // This should only happen if the web-app and client plugin get out of | 243 // This should only happen if the web-app and client plugin get out of |
| 245 // sync, so MISSING_PLUGIN is a suitable error. | 244 // sync, so MISSING_PLUGIN is a suitable error. |
| 246 this.onError(remoting.Error.MISSING_PLUGIN); | 245 this.onError(remoting.Error.MISSING_PLUGIN); |
| 247 break; | 246 break; |
| 248 } | 247 } |
| 249 | 248 |
| 250 base.dispose(this.sessionConnectedHooks_); | 249 base.dispose(this.sessionConnectedHooks_); |
| 251 this.sessionConnectedHooks_= null; | 250 this.sessionConnectedHooks_= null; |
| 252 remoting.clientSession.dispose(); | 251 remoting.clientSession.dispose(); |
|
kelvinp
2015/03/06 02:58:37
Previously, this will actually remove the plugin.
| |
| 253 remoting.clientSession = null; | 252 remoting.clientSession = null; |
| 254 }; | 253 }; |
| 255 | 254 |
| 256 /** @private */ | 255 /** @private */ |
| 257 remoting.Application.prototype.updateStatistics_ = function() { | 256 remoting.Application.prototype.updateStatistics_ = function() { |
| 258 var perfstats = remoting.clientSession.getPerfStats(); | 257 var perfstats = remoting.clientSession.getPerfStats(); |
| 259 remoting.stats.update(perfstats); | 258 remoting.stats.update(perfstats); |
| 260 remoting.clientSession.logStatistics(perfstats); | 259 remoting.clientSession.logStatistics(perfstats); |
| 261 }; | 260 }; |
| 262 | 261 |
| (...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 333 * Called when an error needs to be displayed to the user. | 332 * Called when an error needs to be displayed to the user. |
| 334 * | 333 * |
| 335 * @param {remoting.Error} errorTag The error to be localized and displayed. | 334 * @param {remoting.Error} errorTag The error to be localized and displayed. |
| 336 * @return {void} Nothing. | 335 * @return {void} Nothing. |
| 337 */ | 336 */ |
| 338 remoting.Application.Delegate.prototype.handleError = function(errorTag) {}; | 337 remoting.Application.Delegate.prototype.handleError = function(errorTag) {}; |
| 339 | 338 |
| 340 | 339 |
| 341 /** @type {remoting.Application} */ | 340 /** @type {remoting.Application} */ |
| 342 remoting.app = null; | 341 remoting.app = null; |
| OLD | NEW |