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

Side by Side Diff: remoting/webapp/crd/js/session_connector_impl.js

Issue 937593002: Changed identity API to use promises instead of callbacks. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fixed bad merge Created 5 years, 10 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 unified diff | Download patch
« no previous file with comments | « remoting/webapp/crd/js/remoting.js ('k') | remoting/webapp/crd/js/wcs_sandbox_container.js » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 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 /** 5 /**
6 * @fileoverview 6 * @fileoverview
7 * Connect set-up state machine for Me2Me and IT2Me 7 * Connect set-up state machine for Me2Me and IT2Me
8 */ 8 */
9 9
10 'use strict'; 10 'use strict';
(...skipping 291 matching lines...) Expand 10 before | Expand all | Expand 10 after
302 302
303 var normalizedAccessCode = this.normalizeAccessCode_(accessCode); 303 var normalizedAccessCode = this.normalizeAccessCode_(accessCode);
304 if (normalizedAccessCode.length != kAccessCodeLen) { 304 if (normalizedAccessCode.length != kAccessCodeLen) {
305 this.onError_(remoting.Error.INVALID_ACCESS_CODE); 305 this.onError_(remoting.Error.INVALID_ACCESS_CODE);
306 return; 306 return;
307 } 307 }
308 308
309 var hostId = normalizedAccessCode.substring(0, kSupportIdLen); 309 var hostId = normalizedAccessCode.substring(0, kSupportIdLen);
310 this.passPhrase_ = normalizedAccessCode; 310 this.passPhrase_ = normalizedAccessCode;
311 this.connectionMode_ = remoting.DesktopConnectedView.Mode.IT2ME; 311 this.connectionMode_ = remoting.DesktopConnectedView.Mode.IT2ME;
312 remoting.identity.callWithToken( 312 remoting.identity.getToken().then(
313 this.connectIT2MeWithToken_.bind(this, hostId), this.onError_); 313 this.connectIT2MeWithToken_.bind(this, hostId),
314 remoting.Error.handler(this.onError_));
314 }; 315 };
315 316
316 /** 317 /**
317 * Reconnect a closed connection. 318 * Reconnect a closed connection.
318 * 319 *
319 * @return {void} Nothing. 320 * @return {void} Nothing.
320 */ 321 */
321 remoting.SessionConnectorImpl.prototype.reconnect = function() { 322 remoting.SessionConnectorImpl.prototype.reconnect = function() {
322 if (this.connectionMode_ == remoting.DesktopConnectedView.Mode.IT2ME) { 323 if (this.connectionMode_ == remoting.DesktopConnectedView.Mode.IT2ME) {
323 console.error('reconnect not supported for IT2Me.'); 324 console.error('reconnect not supported for IT2Me.');
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
367 */ 368 */
368 remoting.SessionConnectorImpl.prototype.connectSignaling_ = function() { 369 remoting.SessionConnectorImpl.prototype.connectSignaling_ = function() {
369 base.dispose(this.signalStrategy_); 370 base.dispose(this.signalStrategy_);
370 this.signalStrategy_ = null; 371 this.signalStrategy_ = null;
371 372
372 /** @type {remoting.SessionConnectorImpl} */ 373 /** @type {remoting.SessionConnectorImpl} */
373 var that = this; 374 var that = this;
374 375
375 /** @param {string} token */ 376 /** @param {string} token */
376 function connectSignalingWithToken(token) { 377 function connectSignalingWithToken(token) {
377 remoting.identity.getUserInfo( 378 remoting.identity.getUserInfo().then(
378 connectSignalingWithTokenAndUserInfo.bind(null, token), that.onError_); 379 connectSignalingWithTokenAndUserInfo.bind(null, token),
380 remoting.Error.handler(that.onError_));
379 } 381 }
380 382
381 /** 383 /**
382 * Success callback for when the email and fullName have been retrieved 384 * Success callback for when the email and fullName have been retrieved
383 * for this user. 385 * for this user.
384 * Note that the full name will be null unless the webapp has requested 386 * Note that the full name will be null unless the webapp has requested
385 * and been granted the userinfo.profile permission. 387 * and been granted the userinfo.profile permission.
386 * 388 *
387 * @param {string} token 389 * @param {string} token
388 * @param {string} email 390 * @param {{email: string, name: string}} userInfo
389 * @param {string} fullName
390 */ 391 */
391 function connectSignalingWithTokenAndUserInfo(token, email, fullName) { 392 function connectSignalingWithTokenAndUserInfo(token, userInfo) {
392 that.signalStrategy_.connect( 393 that.signalStrategy_.connect(
393 remoting.settings.XMPP_SERVER_FOR_CLIENT, email, token); 394 remoting.settings.XMPP_SERVER_FOR_CLIENT, userInfo.email, token);
394 } 395 }
395 396
396 this.signalStrategy_ = remoting.SignalStrategy.create(); 397 this.signalStrategy_ = remoting.SignalStrategy.create();
397 this.signalStrategy_.setStateChangedCallback( 398 this.signalStrategy_.setStateChangedCallback(
398 this.onSignalingState_.bind(this)); 399 this.onSignalingState_.bind(this));
399 400
400 remoting.identity.callWithToken(connectSignalingWithToken, this.onError_); 401 remoting.identity.getToken().then(
402 connectSignalingWithToken,
403 remoting.Error.handler(this.onError_));
401 }; 404 };
402 405
403 /** 406 /**
404 * @private 407 * @private
405 * @param {remoting.SignalStrategy.State} state 408 * @param {remoting.SignalStrategy.State} state
406 */ 409 */
407 remoting.SessionConnectorImpl.prototype.onSignalingState_ = function(state) { 410 remoting.SessionConnectorImpl.prototype.onSignalingState_ = function(state) {
408 switch (state) { 411 switch (state) {
409 case remoting.SignalStrategy.State.CONNECTED: 412 case remoting.SignalStrategy.State.CONNECTED:
410 // Proceed only if the connection hasn't been canceled. 413 // Proceed only if the connection hasn't been canceled.
(...skipping 209 matching lines...) Expand 10 before | Expand all | Expand 10 after
620 */ 623 */
621 remoting.DefaultSessionConnectorFactory.prototype.createConnector = 624 remoting.DefaultSessionConnectorFactory.prototype.createConnector =
622 function(clientContainer, onConnected, onError, onExtensionMessage, 625 function(clientContainer, onConnected, onError, onExtensionMessage,
623 onConnectionFailed, requiredCapabilities, defaultRemapKeys) { 626 onConnectionFailed, requiredCapabilities, defaultRemapKeys) {
624 return new remoting.SessionConnectorImpl(clientContainer, onConnected, 627 return new remoting.SessionConnectorImpl(clientContainer, onConnected,
625 onError, onExtensionMessage, 628 onError, onExtensionMessage,
626 onConnectionFailed, 629 onConnectionFailed,
627 requiredCapabilities, 630 requiredCapabilities,
628 defaultRemapKeys); 631 defaultRemapKeys);
629 }; 632 };
OLDNEW
« no previous file with comments | « remoting/webapp/crd/js/remoting.js ('k') | remoting/webapp/crd/js/wcs_sandbox_container.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698