| 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(remoting.Error):void} onConnectionFailed Callback for when | 23 * @param {function(!remoting.Error):void} onConnectionFailed Callback for when |
| 24 * the 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, |
| 35 requiredCapabilities, | 35 requiredCapabilities, |
| 36 defaultRemapKeys) { | 36 defaultRemapKeys) { |
| 37 /** | 37 /** |
| 38 * @type {HTMLElement} | 38 * @type {HTMLElement} |
| 39 * @private | 39 * @private |
| 40 */ | 40 */ |
| 41 this.clientContainer_ = clientContainer; | 41 this.clientContainer_ = clientContainer; |
| 42 | 42 |
| 43 /** | 43 /** |
| 44 * @type {function(remoting.ClientSession):void} | 44 * @type {function(remoting.ClientSession):void} |
| 45 * @private | 45 * @private |
| 46 */ | 46 */ |
| 47 this.onConnected_ = onConnected; | 47 this.onConnected_ = onConnected; |
| 48 | 48 |
| 49 /** | 49 /** |
| 50 * @type {function(remoting.Error):void} | 50 * @type {function(!remoting.Error):void} |
| 51 * @private | 51 * @private |
| 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(remoting.Error):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 491 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 564 console.error('Unexpected client plugin state: ' + event.current); | 564 console.error('Unexpected client plugin state: ' + event.current); |
| 565 // This should only happen if the web-app and client plugin get out of | 565 // This should only happen if the web-app and client plugin get out of |
| 566 // sync, and even then the version check should ensure compatibility. | 566 // sync, and even then the version check should ensure compatibility. |
| 567 this.onError_(remoting.Error.MISSING_PLUGIN); | 567 this.onError_(remoting.Error.MISSING_PLUGIN); |
| 568 } | 568 } |
| 569 }; | 569 }; |
| 570 | 570 |
| 571 /** | 571 /** |
| 572 * @param {number} error An HTTP error code returned by the support-hosts | 572 * @param {number} error An HTTP error code returned by the support-hosts |
| 573 * endpoint. | 573 * endpoint. |
| 574 * @return {remoting.Error} The equivalent remoting.Error code. | 574 * @return {!remoting.Error} The equivalent remoting.Error code. |
| 575 * @private | 575 * @private |
| 576 */ | 576 */ |
| 577 remoting.SessionConnectorImpl.prototype.translateSupportHostsError_ = | 577 remoting.SessionConnectorImpl.prototype.translateSupportHostsError_ = |
| 578 function(error) { | 578 function(error) { |
| 579 switch (error) { | 579 switch (error) { |
| 580 case 0: return remoting.Error.NETWORK_FAILURE; | 580 case 0: return remoting.Error.NETWORK_FAILURE; |
| 581 case 404: return remoting.Error.INVALID_ACCESS_CODE; | 581 case 404: return remoting.Error.INVALID_ACCESS_CODE; |
| 582 case 502: // No break | 582 case 502: // No break |
| 583 case 503: return remoting.Error.SERVICE_UNAVAILABLE; | 583 case 503: return remoting.Error.SERVICE_UNAVAILABLE; |
| 584 default: return remoting.Error.UNEXPECTED; | 584 default: return remoting.Error.UNEXPECTED; |
| (...skipping 18 matching lines...) Expand all Loading... |
| 603 * @constructor | 603 * @constructor |
| 604 * @implements {remoting.SessionConnectorFactory} | 604 * @implements {remoting.SessionConnectorFactory} |
| 605 */ | 605 */ |
| 606 remoting.DefaultSessionConnectorFactory = function() { | 606 remoting.DefaultSessionConnectorFactory = function() { |
| 607 }; | 607 }; |
| 608 | 608 |
| 609 /** | 609 /** |
| 610 * @param {HTMLElement} clientContainer Container element for the client view. | 610 * @param {HTMLElement} clientContainer Container element for the client view. |
| 611 * @param {function(remoting.ClientSession):void} onConnected Callback on | 611 * @param {function(remoting.ClientSession):void} onConnected Callback on |
| 612 * success. | 612 * success. |
| 613 * @param {function(remoting.Error):void} onError Callback on error. | 613 * @param {function(!remoting.Error):void} onError Callback on error. |
| 614 * @param {function(string, string):boolean} onExtensionMessage The handler for | 614 * @param {function(string, string):boolean} onExtensionMessage The handler for |
| 615 * protocol extension messages. Returns true if a message is recognized; | 615 * protocol extension messages. Returns true if a message is recognized; |
| 616 * false otherwise. | 616 * false otherwise. |
| 617 * @param {function(remoting.Error):void} onConnectionFailed Callback for when | 617 * @param {function(!remoting.Error):void} onConnectionFailed Callback for when |
| 618 * the connection fails. | 618 * the connection fails. |
| 619 * @param {Array<string>} requiredCapabilities Connector capabilities | 619 * @param {Array<string>} requiredCapabilities Connector capabilities |
| 620 * required by this application. | 620 * required by this application. |
| 621 * @param {string} defaultRemapKeys The default set of key mappings to use | 621 * @param {string} defaultRemapKeys The default set of key mappings to use |
| 622 * in the client session. | 622 * in the client session. |
| 623 * @return {remoting.SessionConnector} | 623 * @return {remoting.SessionConnector} |
| 624 */ | 624 */ |
| 625 remoting.DefaultSessionConnectorFactory.prototype.createConnector = | 625 remoting.DefaultSessionConnectorFactory.prototype.createConnector = |
| 626 function(clientContainer, onConnected, onError, onExtensionMessage, | 626 function(clientContainer, onConnected, onError, onExtensionMessage, |
| 627 onConnectionFailed, requiredCapabilities, defaultRemapKeys) { | 627 onConnectionFailed, requiredCapabilities, defaultRemapKeys) { |
| 628 return new remoting.SessionConnectorImpl(clientContainer, onConnected, | 628 return new remoting.SessionConnectorImpl(clientContainer, onConnected, |
| 629 onError, onExtensionMessage, | 629 onError, onExtensionMessage, |
| 630 onConnectionFailed, | 630 onConnectionFailed, |
| 631 requiredCapabilities, | 631 requiredCapabilities, |
| 632 defaultRemapKeys); | 632 defaultRemapKeys); |
| 633 }; | 633 }; |
| OLD | NEW |