OLD | NEW |
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 329 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
340 | 340 |
341 var normalizedAccessCode = this.normalizeAccessCode_(accessCode); | 341 var normalizedAccessCode = this.normalizeAccessCode_(accessCode); |
342 if (normalizedAccessCode.length != kAccessCodeLen) { | 342 if (normalizedAccessCode.length != kAccessCodeLen) { |
343 this.onError_(remoting.Error.INVALID_ACCESS_CODE); | 343 this.onError_(remoting.Error.INVALID_ACCESS_CODE); |
344 return; | 344 return; |
345 } | 345 } |
346 | 346 |
347 this.hostId_ = normalizedAccessCode.substring(0, kSupportIdLen); | 347 this.hostId_ = normalizedAccessCode.substring(0, kSupportIdLen); |
348 this.passPhrase_ = normalizedAccessCode; | 348 this.passPhrase_ = normalizedAccessCode; |
349 this.connectionMode_ = remoting.ClientSession.Mode.IT2ME; | 349 this.connectionMode_ = remoting.ClientSession.Mode.IT2ME; |
350 remoting.identity.callWithToken(this.connectIT2MeWithToken_.bind(this), | 350 remoting.identity.getToken().then( |
351 this.onError_); | 351 this.connectIT2MeWithToken_.bind(this), |
| 352 remoting.Error.handler(this.onError_)); |
352 }; | 353 }; |
353 | 354 |
354 /** | 355 /** |
355 * Reconnect a closed connection. | 356 * Reconnect a closed connection. |
356 * | 357 * |
357 * @return {void} Nothing. | 358 * @return {void} Nothing. |
358 */ | 359 */ |
359 remoting.SessionConnectorImpl.prototype.reconnect = function() { | 360 remoting.SessionConnectorImpl.prototype.reconnect = function() { |
360 if (this.connectionMode_ == remoting.ClientSession.Mode.IT2ME) { | 361 if (this.connectionMode_ == remoting.ClientSession.Mode.IT2ME) { |
361 console.error('reconnect not supported for IT2Me.'); | 362 console.error('reconnect not supported for IT2Me.'); |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
406 */ | 407 */ |
407 remoting.SessionConnectorImpl.prototype.connectSignaling_ = function() { | 408 remoting.SessionConnectorImpl.prototype.connectSignaling_ = function() { |
408 base.dispose(this.signalStrategy_); | 409 base.dispose(this.signalStrategy_); |
409 this.signalStrategy_ = null; | 410 this.signalStrategy_ = null; |
410 | 411 |
411 /** @type {remoting.SessionConnectorImpl} */ | 412 /** @type {remoting.SessionConnectorImpl} */ |
412 var that = this; | 413 var that = this; |
413 | 414 |
414 /** @param {string} token */ | 415 /** @param {string} token */ |
415 function connectSignalingWithToken(token) { | 416 function connectSignalingWithToken(token) { |
416 remoting.identity.getUserInfo( | 417 remoting.identity.getUserInfo().then( |
417 connectSignalingWithTokenAndUserInfo.bind(null, token), that.onError_); | 418 connectSignalingWithTokenAndUserInfo.bind(null, token), |
| 419 remoting.Error.handler(that.onError_)); |
418 } | 420 } |
419 | 421 |
420 /** | 422 /** |
421 * Success callback for when the email and fullName have been retrieved | 423 * Success callback for when the email and fullName have been retrieved |
422 * for this user. | 424 * for this user. |
423 * Note that the full name will be null unless the webapp has requested | 425 * Note that the full name will be null unless the webapp has requested |
424 * and been granted the userinfo.profile permission. | 426 * and been granted the userinfo.profile permission. |
425 * | 427 * |
426 * @param {string} token | 428 * @param {string} token |
427 * @param {string} email | 429 * @param {{email: string, name: string}} userInfo |
428 * @param {string} fullName | |
429 */ | 430 */ |
430 function connectSignalingWithTokenAndUserInfo(token, email, fullName) { | 431 function connectSignalingWithTokenAndUserInfo(token, userInfo) { |
431 that.signalStrategy_.connect( | 432 that.signalStrategy_.connect( |
432 remoting.settings.XMPP_SERVER_FOR_CLIENT, email, token); | 433 remoting.settings.XMPP_SERVER_FOR_CLIENT, userInfo.email, token); |
433 } | 434 } |
434 | 435 |
435 this.signalStrategy_ = remoting.SignalStrategy.create(); | 436 this.signalStrategy_ = remoting.SignalStrategy.create(); |
436 this.signalStrategy_.setStateChangedCallback( | 437 this.signalStrategy_.setStateChangedCallback( |
437 this.onSignalingState_.bind(this)); | 438 this.onSignalingState_.bind(this)); |
438 | 439 |
439 remoting.identity.callWithToken(connectSignalingWithToken, this.onError_); | 440 remoting.identity.getToken().then( |
| 441 connectSignalingWithToken, |
| 442 remoting.Error.handler(this.onError_)); |
440 }; | 443 }; |
441 | 444 |
442 /** | 445 /** |
443 * @private | 446 * @private |
444 * @param {remoting.SignalStrategy.State} state | 447 * @param {remoting.SignalStrategy.State} state |
445 */ | 448 */ |
446 remoting.SessionConnectorImpl.prototype.onSignalingState_ = function(state) { | 449 remoting.SessionConnectorImpl.prototype.onSignalingState_ = function(state) { |
447 switch (state) { | 450 switch (state) { |
448 case remoting.SignalStrategy.State.CONNECTED: | 451 case remoting.SignalStrategy.State.CONNECTED: |
449 // Proceed only if the connection hasn't been canceled. | 452 // Proceed only if the connection hasn't been canceled. |
(...skipping 205 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
655 */ | 658 */ |
656 remoting.DefaultSessionConnectorFactory.prototype.createConnector = | 659 remoting.DefaultSessionConnectorFactory.prototype.createConnector = |
657 function(clientContainer, onConnected, onError, onExtensionMessage, | 660 function(clientContainer, onConnected, onError, onExtensionMessage, |
658 onConnectionFailed, requiredCapabilities, defaultRemapKeys) { | 661 onConnectionFailed, requiredCapabilities, defaultRemapKeys) { |
659 return new remoting.SessionConnectorImpl(clientContainer, onConnected, | 662 return new remoting.SessionConnectorImpl(clientContainer, onConnected, |
660 onError, onExtensionMessage, | 663 onError, onExtensionMessage, |
661 onConnectionFailed, | 664 onConnectionFailed, |
662 requiredCapabilities, | 665 requiredCapabilities, |
663 defaultRemapKeys); | 666 defaultRemapKeys); |
664 }; | 667 }; |
OLD | NEW |