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

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

Issue 1101613003: [Webapp Refactor] Reliably cancels a connection. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@ImproveUnittest
Patch Set: Rebase Created 5 years, 8 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
« no previous file with comments | « remoting/webapp/crd/js/it2me_activity.js ('k') | remoting/webapp/crd/js/smart_reconnector.js » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: remoting/webapp/crd/js/me2me_activity.js
diff --git a/remoting/webapp/crd/js/me2me_activity.js b/remoting/webapp/crd/js/me2me_activity.js
index fe9ac40f2586d282737a0b5003e95ee7313da5a7..193ba0c9e0018ea7864ab6088cf65bf05fd15338 100644
--- a/remoting/webapp/crd/js/me2me_activity.js
+++ b/remoting/webapp/crd/js/me2me_activity.js
@@ -11,14 +11,17 @@ var remoting = remoting || {};
/**
* @param {remoting.Host} host
+ * @param {remoting.HostList} hostList
*
* @constructor
* @implements {remoting.Activity}
*/
-remoting.Me2MeActivity = function(host) {
+remoting.Me2MeActivity = function(host, hostList) {
/** @private */
this.host_ = host;
/** @private */
+ this.hostList_ = hostList;
+ /** @private */
this.pinDialog_ =
new remoting.PinDialog(document.getElementById('pin-dialog'), host);
/** @private */
@@ -48,11 +51,11 @@ remoting.Me2MeActivity.prototype.start = function() {
return that.host_.options.load();
}).then(function() {
that.connect_(true);
- }).catch(function(/** remoting.Error */ error) {
+ }).catch(remoting.Error.handler(function(/** remoting.Error */ error) {
if (error.hasTag(remoting.Error.Tag.CANCELLED)) {
remoting.setMode(remoting.AppMode.HOME);
}
- });
+ }));
};
remoting.Me2MeActivity.prototype.stop = function() {
@@ -69,9 +72,9 @@ remoting.Me2MeActivity.prototype.getDesktopActivity = function() {
* @private
*/
remoting.Me2MeActivity.prototype.connect_ = function(suppressHostOfflineError) {
- remoting.setMode(remoting.AppMode.CLIENT_CONNECTING);
base.dispose(this.desktopActivity_);
this.desktopActivity_ = new remoting.DesktopRemotingActivity(this);
+ this.desktopActivity_.getConnectingDialog().show();
remoting.app.setConnectionMode(remoting.Application.Mode.ME2ME);
this.desktopActivity_.start(this.host_, this.createCredentialsProvider_(),
suppressHostOfflineError);
@@ -106,16 +109,18 @@ remoting.Me2MeActivity.prototype.createCredentialsProvider_ = function() {
var requestPin = function(supportsPairing, onPinFetched) {
// Set time when PIN was requested.
var authStartTime = new Date().getTime();
+ that.desktopActivity_.getConnectingDialog().hide();
that.pinDialog_.show(supportsPairing).then(function(/** string */ pin) {
remoting.setMode(remoting.AppMode.CLIENT_CONNECTING);
// Done obtaining PIN information. Log time taken for PIN entry.
var logToServer = that.desktopActivity_.getSession().getLogger();
logToServer.setAuthTotalTime(new Date().getTime() - authStartTime);
onPinFetched(pin);
- }).catch(function(/** remoting.Error */ error) {
+ }).catch(remoting.Error.handler(function(/** remoting.Error */ error) {
base.debug.assert(error.hasTag(remoting.Error.Tag.CANCELLED));
remoting.setMode(remoting.AppMode.HOME);
- });
+ that.stop();
+ }));
};
return new remoting.CredentialsProvider({
@@ -136,7 +141,7 @@ remoting.Me2MeActivity.prototype.onConnectionFailed = function(error) {
var onHostListRefresh = function(/** boolean */ success) {
if (success) {
// Get the host from the hostList for the refreshed JID.
- that.host_ = remoting.hostList.getHostForId(that.host_.hostId);
+ that.host_ = that.hostList_.getHostForId(that.host_.hostId);
that.connect_(false);
return;
}
@@ -145,7 +150,7 @@ remoting.Me2MeActivity.prototype.onConnectionFailed = function(error) {
this.retryOnHostOffline_ = false;
// The plugin will be re-created when the host finished refreshing
- remoting.hostList.refresh(onHostListRefresh);
+ this.hostList_.refresh(onHostListRefresh);
} else if (!error.isNone()) {
this.showErrorMessage_(error);
}
@@ -170,6 +175,7 @@ remoting.Me2MeActivity.prototype.onConnected = function(connectionInfo) {
base.dispose(this.reconnector_);
this.reconnector_ = new remoting.SmartReconnector(
+ this.desktopActivity_.getConnectingDialog(),
this.connect_.bind(this, false),
this.stop.bind(this),
connectionInfo.session());
« no previous file with comments | « remoting/webapp/crd/js/it2me_activity.js ('k') | remoting/webapp/crd/js/smart_reconnector.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698