Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(476)

Unified Diff: remoting/webapp/crd/js/desktop_remoting.js

Issue 1016623002: [Webapp Refactor] Reparent the ConnectedView into the delegate. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Please diff this patch against patch set 1 Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: remoting/webapp/crd/js/desktop_remoting.js
diff --git a/remoting/webapp/crd/js/desktop_remoting.js b/remoting/webapp/crd/js/desktop_remoting.js
index 8ad5e841c7ee7f837088780bb1d8e5e8f468139a..2a74c6c6f52fa3e91bc7b7e19ff0630b9c0ca515 100644
--- a/remoting/webapp/crd/js/desktop_remoting.js
+++ b/remoting/webapp/crd/js/desktop_remoting.js
@@ -36,6 +36,11 @@ remoting.DesktopRemoting = function(app) {
* @private {boolean}
*/
this.refreshHostJidIfOffline_ = true;
+
+ /** @private {remoting.DesktopConnectedView} */
+ this.connectedView_ = null;
+
+ remoting.desktopDelegateForTesting = this;
};
/**
@@ -113,7 +118,7 @@ remoting.DesktopRemoting.prototype.init = function() {
}
remoting.ClientPlugin.factory.preloadPlugin();
-}
+};
/**
* Start the application. Once start() is called, the delegate can assume that
@@ -192,8 +197,11 @@ remoting.DesktopRemoting.prototype.handleConnected = function(connectionInfo) {
remoting.toolbar.preview();
}
- if (remoting.desktopConnectedView.getMode() ==
- remoting.DesktopConnectedView.Mode.ME2ME) {
+ this.connectedView_ = new remoting.DesktopConnectedView(
+ document.getElementById('client-container'), connectionInfo,
+ this.getDefaultRemapKeys());
+
+ if (connectionInfo.mode() === remoting.DesktopConnectedView.Mode.ME2ME) {
var sessionConnector = remoting.app.getSessionConnector();
if (remoting.app.hasCapability(remoting.ClientSession.Capability.CAST)) {
sessionConnector.registerProtocolExtension(
@@ -245,12 +253,14 @@ remoting.DesktopRemoting.prototype.handleConnected = function(connectionInfo) {
* @return {void} Nothing.
*/
remoting.DesktopRemoting.prototype.handleDisconnected = function() {
- if (remoting.desktopConnectedView.getMode() ==
- remoting.DesktopConnectedView.Mode.IT2ME) {
+ var mode = this.connectedView_.getMode();
+ if (mode === remoting.DesktopConnectedView.Mode.IT2ME) {
remoting.setMode(remoting.AppMode.CLIENT_SESSION_FINISHED_IT2ME);
} else {
remoting.setMode(remoting.AppMode.CLIENT_SESSION_FINISHED_ME2ME);
}
+ base.dispose(this.connectedView_);
+ this.connectedView_ = null;
};
/**
@@ -297,16 +307,6 @@ remoting.DesktopRemoting.prototype.handleVideoStreamingStarted = function() {
};
/**
- * @param {string} type The type of the extension message.
- * @param {Object} message The parsed extension message data.
- * @return {boolean} Return true if the extension message was recognized.
- */
-remoting.DesktopRemoting.prototype.handleExtensionMessage = function(
- type, message) {
- return false;
-};
-
-/**
* Called when an error needs to be displayed to the user.
*
* @param {!remoting.Error} error The error to be localized and displayed.
@@ -314,7 +314,10 @@ remoting.DesktopRemoting.prototype.handleExtensionMessage = function(
*/
remoting.DesktopRemoting.prototype.handleError = function(error) {
console.error('Connection failed: ' + error.toString());
- remoting.accessCode = '';
+ var mode = this.connectedView_ ? this.connectedView_.getMode()
+ : this.app_.getSessionConnector().getConnectionMode();
+ base.dispose(this.connectedView_);
+ this.connectedView_ = null;
if (error.hasTag(remoting.Error.Tag.AUTHENTICATION_FAILED)) {
remoting.setMode(remoting.AppMode.HOME);
@@ -328,8 +331,6 @@ remoting.DesktopRemoting.prototype.handleError = function(error) {
var errorDiv = document.getElementById('connect-error-message');
l10n.localizeElementFromTag(errorDiv, error.getTag());
- var mode = remoting.clientSession ? remoting.desktopConnectedView.getMode()
- : this.app_.getSessionConnector().getConnectionMode();
if (mode == remoting.DesktopConnectedView.Mode.IT2ME) {
remoting.setMode(remoting.AppMode.CLIENT_CONNECT_FAILED_IT2ME);
} else {
@@ -342,3 +343,14 @@ remoting.DesktopRemoting.prototype.handleError = function(error) {
*/
remoting.DesktopRemoting.prototype.handleExit = function() {
};
+
+/** @returns {remoting.DesktopConnectedView} */
+remoting.DesktopRemoting.prototype.getConnectedViewForTesting = function() {
+ return this.connectedView_;
+};
+
+/**
+ * Global instance of remoting.DesktopRemoting used for testing.
+ * @type {remoting.DesktopRemoting}
+ */
+remoting.desktopDelegateForTesting = null;

Powered by Google App Engine
This is Rietveld 408576698