| 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'; |
| 11 | 11 |
| 12 /** @suppress {duplicate} */ | 12 /** @suppress {duplicate} */ |
| 13 var remoting = remoting || {}; | 13 var remoting = remoting || {}; |
| 14 | 14 |
| 15 /** | 15 /** |
| 16 * @param {HTMLElement} clientContainer Container element for the client view. | 16 * @param {HTMLElement} clientContainer Container element for the client view. |
| 17 * @param {function(remoting.ClientSession):void} onConnected Callback on | 17 * @param {function(remoting.ClientSession):void} onConnected Callback on |
| 18 * success. | 18 * success. |
| 19 * @param {function(remoting.Error):void} onError Callback on error. | 19 * @param {function(remoting.Error):void} onError Callback on error. |
| 20 * @param {function(string, string):boolean} onExtensionMessage The handler for | 20 * @param {function(string, string):boolean} onExtensionMessage The handler for |
| 21 * protocol extension messages. Returns true if a message is recognized; | 21 * protocol extension messages. Returns true if a message is recognized; |
| 22 * false otherwise. | 22 * false otherwise. |
| 23 * @param {function(string):void} onConnectionFailed Callback for when the | 23 * @param {function(remoting.Error):void} onConnectionFailed Callback for when |
| 24 * connection fails. | 24 * the connection fails. |
| 25 * @param {Array.<string>} requiredCapabilities Connector capabilities | 25 * @param {Array.<string>} requiredCapabilities Connector capabilities |
| 26 * required by this application. | 26 * required by this application. |
| 27 * @param {string} defaultRemapKeys The default set of key mappings for the | 27 * @param {string} defaultRemapKeys The default set of key mappings for the |
| 28 * client session to use. | 28 * client session to use. |
| 29 * @constructor | 29 * @constructor |
| 30 * @implements {remoting.SessionConnector} | 30 * @implements {remoting.SessionConnector} |
| 31 */ | 31 */ |
| 32 remoting.SessionConnectorImpl = function(clientContainer, onConnected, onError, | 32 remoting.SessionConnectorImpl = function(clientContainer, onConnected, onError, |
| 33 onExtensionMessage, | 33 onExtensionMessage, |
| 34 onConnectionFailed, | 34 onConnectionFailed, |
| (...skipping 17 matching lines...) Expand all Loading... |
| 52 */ | 52 */ |
| 53 this.onError_ = onError; | 53 this.onError_ = onError; |
| 54 | 54 |
| 55 /** | 55 /** |
| 56 * @type {function(string, string):boolean} | 56 * @type {function(string, string):boolean} |
| 57 * @private | 57 * @private |
| 58 */ | 58 */ |
| 59 this.onExtensionMessage_ = onExtensionMessage; | 59 this.onExtensionMessage_ = onExtensionMessage; |
| 60 | 60 |
| 61 /** | 61 /** |
| 62 * @type {function(string):void} | 62 * @type {function(remoting.Error):void} |
| 63 * @private | 63 * @private |
| 64 */ | 64 */ |
| 65 this.onConnectionFailed_ = onConnectionFailed; | 65 this.onConnectionFailed_ = onConnectionFailed; |
| 66 | 66 |
| 67 /** | 67 /** |
| 68 * @type {Array.<string>} | 68 * @type {Array.<string>} |
| 69 * @private | 69 * @private |
| 70 */ | 70 */ |
| 71 this.requiredCapabilities_ = requiredCapabilities; | 71 this.requiredCapabilities_ = requiredCapabilities; |
| 72 | 72 |
| (...skipping 406 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 479 * Continue an IT2Me connection once the host JID has been looked up. | 479 * Continue an IT2Me connection once the host JID has been looked up. |
| 480 * | 480 * |
| 481 * @param {XMLHttpRequest} xhr The server response to the support-hosts query. | 481 * @param {XMLHttpRequest} xhr The server response to the support-hosts query. |
| 482 * @return {void} Nothing. | 482 * @return {void} Nothing. |
| 483 * @private | 483 * @private |
| 484 */ | 484 */ |
| 485 remoting.SessionConnectorImpl.prototype.onIT2MeHostInfo_ = function(xhr) { | 485 remoting.SessionConnectorImpl.prototype.onIT2MeHostInfo_ = function(xhr) { |
| 486 this.pendingXhr_ = null; | 486 this.pendingXhr_ = null; |
| 487 if (xhr.status == 200) { | 487 if (xhr.status == 200) { |
| 488 var host = /** @type {{data: {jabberId: string, publicKey: string}}} */ | 488 var host = /** @type {{data: {jabberId: string, publicKey: string}}} */ |
| 489 base.jsonParseSafe(xhr.responseText); | 489 (base.jsonParseSafe(xhr.responseText)); |
| 490 if (host && host.data && host.data.jabberId && host.data.publicKey) { | 490 if (host && host.data && host.data.jabberId && host.data.publicKey) { |
| 491 this.hostJid_ = host.data.jabberId; | 491 this.hostJid_ = host.data.jabberId; |
| 492 this.hostPublicKey_ = host.data.publicKey; | 492 this.hostPublicKey_ = host.data.publicKey; |
| 493 this.hostDisplayName_ = this.hostJid_.split('/')[0]; | 493 this.hostDisplayName_ = this.hostJid_.split('/')[0]; |
| 494 this.connectSignaling_(); | 494 this.connectSignaling_(); |
| 495 return; | 495 return; |
| 496 } else { | 496 } else { |
| 497 console.error('Invalid "support-hosts" response from server.'); | 497 console.error('Invalid "support-hosts" response from server.'); |
| 498 } | 498 } |
| 499 } else { | 499 } else { |
| (...skipping 28 matching lines...) Expand all Loading... |
| 528 this.clientSession_.createPluginAndConnect(this.onExtensionMessage_, | 528 this.clientSession_.createPluginAndConnect(this.onExtensionMessage_, |
| 529 this.requiredCapabilities_); | 529 this.requiredCapabilities_); |
| 530 }; | 530 }; |
| 531 | 531 |
| 532 /** | 532 /** |
| 533 * Handle a change in the state of the client session prior to successful | 533 * Handle a change in the state of the client session prior to successful |
| 534 * connection (after connection, this class no longer handles state change | 534 * connection (after connection, this class no longer handles state change |
| 535 * events). Errors that occur while connecting either trigger a reconnect | 535 * events). Errors that occur while connecting either trigger a reconnect |
| 536 * or notify the onError handler. | 536 * or notify the onError handler. |
| 537 * | 537 * |
| 538 * @param {remoting.ClientSession.StateEvent} event | 538 * @param {remoting.ClientSession.StateEvent=} event |
| 539 * @return {void} Nothing. | 539 * @return {void} Nothing. |
| 540 * @private | 540 * @private |
| 541 */ | 541 */ |
| 542 remoting.SessionConnectorImpl.prototype.onStateChange_ = function(event) { | 542 remoting.SessionConnectorImpl.prototype.onStateChange_ = function(event) { |
| 543 switch (event.current) { | 543 switch (event.current) { |
| 544 case remoting.ClientSession.State.CONNECTED: | 544 case remoting.ClientSession.State.CONNECTED: |
| 545 // When the connection succeeds, deregister for state-change callbacks | 545 // When the connection succeeds, deregister for state-change callbacks |
| 546 // and pass the session to the onConnected callback. It is expected that | 546 // and pass the session to the onConnected callback. It is expected that |
| 547 // it will register a new state-change callback to handle disconnect | 547 // it will register a new state-change callback to handle disconnect |
| 548 // or error conditions. | 548 // or error conditions. |
| (...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 637 }; | 637 }; |
| 638 | 638 |
| 639 /** | 639 /** |
| 640 * @param {HTMLElement} clientContainer Container element for the client view. | 640 * @param {HTMLElement} clientContainer Container element for the client view. |
| 641 * @param {function(remoting.ClientSession):void} onConnected Callback on | 641 * @param {function(remoting.ClientSession):void} onConnected Callback on |
| 642 * success. | 642 * success. |
| 643 * @param {function(remoting.Error):void} onError Callback on error. | 643 * @param {function(remoting.Error):void} onError Callback on error. |
| 644 * @param {function(string, string):boolean} onExtensionMessage The handler for | 644 * @param {function(string, string):boolean} onExtensionMessage The handler for |
| 645 * protocol extension messages. Returns true if a message is recognized; | 645 * protocol extension messages. Returns true if a message is recognized; |
| 646 * false otherwise. | 646 * false otherwise. |
| 647 * @param {function(string):void} onConnectionFailed Callback for when the | 647 * @param {function(remoting.Error):void} onConnectionFailed Callback for when |
| 648 * connection fails. | 648 * the connection fails. |
| 649 * @param {Array.<string>} requiredCapabilities Connector capabilities | 649 * @param {Array.<string>} requiredCapabilities Connector capabilities |
| 650 * required by this application. | 650 * required by this application. |
| 651 * @param {string} defaultRemapKeys The default set of key mappings to use | 651 * @param {string} defaultRemapKeys The default set of key mappings to use |
| 652 * in the client session. | 652 * in the client session. |
| 653 * @return {remoting.SessionConnector} | 653 * @return {remoting.SessionConnector} |
| 654 */ | 654 */ |
| 655 remoting.DefaultSessionConnectorFactory.prototype.createConnector = | 655 remoting.DefaultSessionConnectorFactory.prototype.createConnector = |
| 656 function(clientContainer, onConnected, onError, onExtensionMessage, | 656 function(clientContainer, onConnected, onError, onExtensionMessage, |
| 657 onConnectionFailed, requiredCapabilities, defaultRemapKeys) { | 657 onConnectionFailed, requiredCapabilities, defaultRemapKeys) { |
| 658 return new remoting.SessionConnectorImpl(clientContainer, onConnected, | 658 return new remoting.SessionConnectorImpl(clientContainer, onConnected, |
| 659 onError, onExtensionMessage, | 659 onError, onExtensionMessage, |
| 660 onConnectionFailed, | 660 onConnectionFailed, |
| 661 requiredCapabilities, | 661 requiredCapabilities, |
| 662 defaultRemapKeys); | 662 defaultRemapKeys); |
| 663 }; | 663 }; |
| OLD | NEW |