Chromium Code Reviews| Index: remoting/webapp/app_remoting/js/app_remoting.js |
| diff --git a/remoting/webapp/app_remoting/js/app_remoting.js b/remoting/webapp/app_remoting/js/app_remoting.js |
| index 80bb442749cf84ba9d1e4be77b2178679ab7d39a..7bc2799c422659a3314de154b30355400dbc8f2b 100644 |
| --- a/remoting/webapp/app_remoting/js/app_remoting.js |
| +++ b/remoting/webapp/app_remoting/js/app_remoting.js |
| @@ -17,6 +17,7 @@ var remoting = remoting || {}; |
| * @param {remoting.Application} app The main app that owns this delegate. |
| * @constructor |
| * @implements {remoting.Application.Delegate} |
| + * @implements {remoting.ProtocolExtension} |
| */ |
| remoting.AppRemoting = function(app) { |
| app.setDelegate(this); |
| @@ -30,8 +31,11 @@ remoting.AppRemoting = function(app) { |
| /** @private {remoting.WindowActivationMenu} */ |
| this.windowActivationMenu_ = null; |
| - /** @private {base.RepeatingTimer} */ |
| - this.pingTimer_ = null; |
| + /** @private {base.RepeatingTimer} */ |
| + this.pingTimer_ = null; |
| + |
| + /** @private {remoting.DesktopConnectedView} */ |
| + this.connectedView_ = null; |
| }; |
| /** |
| @@ -232,6 +236,8 @@ remoting.AppRemoting.prototype.handleConnected = function(connectionInfo) { |
| JSON.stringify({fullName: userInfo.name})); |
| }); |
| + remoting.app.getSessionConnector().registerProtocolExtension(this); |
| + |
| var clientSession = connectionInfo.session(); |
| // Set up a ping at 10-second intervals to test the connection speed. |
| var CONNECTION_SPEED_PING_INTERVAL = 10 * 1000; |
| @@ -239,6 +245,12 @@ remoting.AppRemoting.prototype.handleConnected = function(connectionInfo) { |
| var message = { timestamp: new Date().getTime() }; |
| clientSession.sendClientMessage('pingRequest', JSON.stringify(message)); |
| }, CONNECTION_SPEED_PING_INTERVAL); |
| + |
| + // TODO(kelvinp): Moves all app remoting specific logic into |
|
Jamie
2015/03/18 01:03:56
s/Moves/Move/
kelvinp
2015/03/18 18:44:22
Done.
|
| + // remoting.AppRemotingView. |
| + this.connectedView_ = new remoting.DesktopConnectedView( |
| + document.getElementById('client-container'), connectionInfo, |
| + this.getDefaultRemapKeys()); |
| }; |
| /** |
| @@ -251,6 +263,9 @@ remoting.AppRemoting.prototype.handleDisconnected = function() { |
| base.dispose(this.pingTimer_); |
| this.pingTimer_ = null; |
| + base.dispose(this.connectedView_); |
| + this.connectedView_ = null; |
| + |
| chrome.app.window.current().close(); |
| }; |
| @@ -276,15 +291,25 @@ remoting.AppRemoting.prototype.handleVideoStreamingStarted = function() { |
| remoting.LoadingWindow.close(); |
| }; |
| + |
| +/** @return {Array<string>} */ |
| +remoting.AppRemoting.prototype.getExtensionTypes = function() { |
| + return ['openURL', 'onWindowRemoved', 'onWindowAdded', |
| + 'onAllWindowsMinimized', 'setKeyboardLayouts', 'pingResponse']; |
| +}; |
| + |
| /** |
| - * Called when an extension message needs to be handled. |
| - * |
| - * @param {string} type The type of the extension message. |
| + * @param {function(string,string)} sendMessageToHost Callback to send a message |
| + * to the host. |
| + */ |
| +remoting.AppRemoting.prototype.startExtension = function(sendMessageToHost) { |
| +}; |
| + |
| +/** |
| + * @param {string} type The message type. |
| * @param {Object} message The parsed extension message data. |
| - * @return {boolean} True if the extension message was recognized. |
| */ |
| -remoting.AppRemoting.prototype.handleExtensionMessage = function( |
| - type, message) { |
| +remoting.AppRemoting.prototype.onExtensionMessage = function(type, message) { |
| switch (type) { |
| case 'openURL': |