Index: remoting/webapp/crd/js/it2me_service.js |
diff --git a/remoting/webapp/crd/js/it2me_service.js b/remoting/webapp/crd/js/it2me_service.js |
deleted file mode 100644 |
index 8135e330d965020977b8e6068a8c950dc4dd7f5d..0000000000000000000000000000000000000000 |
--- a/remoting/webapp/crd/js/it2me_service.js |
+++ /dev/null |
@@ -1,178 +0,0 @@ |
-// Copyright 2014 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-/** |
- * @fileoverview |
- * It2MeService listens to incoming connections requests from Hangouts |
- * and the webapp and creates a It2MeHelperChannel between them. |
- * It supports multiple helper sessions, but only a single helpee. |
- */ |
- |
-'use strict'; |
- |
-/** @suppress {duplicate} */ |
-var remoting = remoting || {}; |
- |
-/** |
- * @param {remoting.AppLauncher} appLauncher |
- * |
- * @constructor |
- * @implements {base.Disposable} |
- */ |
-remoting.It2MeService = function(appLauncher) { |
- /** |
- * @type {remoting.AppLauncher} |
- * @private |
- */ |
- this.appLauncher_ = appLauncher; |
- |
- /** |
- * @type {Array<remoting.It2MeHelperChannel>} |
- * @private |
- */ |
- this.helpers_ = []; |
- |
- /** @private */ |
- this.helpee_ = null; |
- |
- this.onWebappConnectRef_ = this.onWebappConnect_.bind(this); |
- this.onConnectExternalRef_ = this.onConnectExternal_.bind(this); |
-}; |
- |
-/** @enum {string} */ |
-remoting.It2MeService.ConnectionTypes = { |
- HELPER_HANGOUT: 'it2me.helper.hangout', |
- HELPEE_HANGOUT: 'it2me.helpee.hangout', |
- HELPER_WEBAPP: 'it2me.helper.webapp' |
-}; |
- |
-/** |
- * Starts listening to external connection from Hangouts and the webapp. |
- */ |
-remoting.It2MeService.prototype.init = function() { |
- chrome.runtime.onConnect.addListener(this.onWebappConnectRef_); |
- chrome.runtime.onConnectExternal.addListener(this.onConnectExternalRef_); |
-}; |
- |
-remoting.It2MeService.prototype.dispose = function() { |
- chrome.runtime.onConnect.removeListener(this.onWebappConnectRef_); |
- chrome.runtime.onConnectExternal.removeListener( |
- this.onConnectExternalRef_); |
-}; |
- |
-/** |
- * This function is called when Hangouts connects via chrome.runtime.connect. |
- * Only web pages that are white-listed in the manifest are allowed to connect. |
- * |
- * @param {chrome.runtime.Port} port |
- * @private |
- */ |
-remoting.It2MeService.prototype.onConnectExternal_ = function(port) { |
- var ConnectionTypes = remoting.It2MeService.ConnectionTypes; |
- try { |
- switch (port.name) { |
- case ConnectionTypes.HELPER_HANGOUT: |
- this.handleExternalHelperConnection_(port); |
- return true; |
- case ConnectionTypes.HELPEE_HANGOUT: |
- this.handleExternalHelpeeConnection_(port); |
- return true; |
- default: |
- throw new Error('Unsupported port - ' + port.name); |
- } |
- } catch (/** @type {*} */ e) { |
- var error = /**@type {Error} */ (e); |
- console.error(error); |
- port.disconnect(); |
- } |
- return false; |
-}; |
- |
-/** |
- * @param {chrome.runtime.Port} port |
- * @private |
- */ |
-remoting.It2MeService.prototype.onWebappConnect_ = function(port) { |
- try { |
- console.log('Incoming helper connection from webapp.'); |
- |
- // The senderId (tabId or windowId) of the webapp is embedded in the port |
- // name with the format port_name@senderId. |
- var parts = port.name.split('@'); |
- var portName = parts[0]; |
- var senderId = parts[1]; |
- var ConnectionTypes = remoting.It2MeService.ConnectionTypes; |
- if (portName === ConnectionTypes.HELPER_WEBAPP && senderId !== undefined) { |
- for (var i = 0; i < this.helpers_.length; i++) { |
- var helper = this.helpers_[i]; |
- if (helper.instanceId() === senderId) { |
- helper.onWebappConnect(port, senderId); |
- return; |
- } |
- } |
- } |
- throw new Error('No matching hangout connection found for ' + port.name); |
- } catch (/** @type {*} */ e) { |
- var error = /** @type {Error} */ (e); |
- console.error(error); |
- port.disconnect(); |
- } |
-}; |
- |
-/** |
- * @param {remoting.It2MeHelperChannel} helper |
- */ |
-remoting.It2MeService.prototype.onHelperChannelDisconnected = function(helper) { |
- for (var i = 0; i < this.helpers_.length; i++) { |
- if (helper === this.helpers_[i]) { |
- this.helpers_.splice(i, 1); |
- } |
- } |
-}; |
- |
-remoting.It2MeService.prototype.onHelpeeChannelDisconnected = function() { |
- base.debug.assert(this.helpee_ !== null); |
- this.helpee_ = null; |
-}; |
- |
-/** |
- * @param {chrome.runtime.Port} port |
- * @private |
- */ |
-remoting.It2MeService.prototype.handleExternalHelperConnection_ = |
- function(port) { |
- if (this.helpee_) { |
- console.error( |
- 'Cannot start a helper session while a helpee session is in process.'); |
- port.disconnect(); |
- return; |
- } |
- |
- console.log('Incoming helper connection from Hangouts'); |
- var helper = new remoting.It2MeHelperChannel( |
- this.appLauncher_, port, this.onHelperChannelDisconnected.bind(this)); |
- helper.init(); |
- this.helpers_.push(helper); |
-}; |
- |
-/** |
- * @param {chrome.runtime.Port} hangoutPort Represents a connection to Hangouts. |
- * @private |
- */ |
-remoting.It2MeService.prototype.handleExternalHelpeeConnection_ = |
- function(hangoutPort) { |
- if (this.helpee_) { |
- console.error('An existing helpee session is in process.'); |
- hangoutPort.disconnect(); |
- return; |
- } |
- |
- console.log('Incoming helpee connection from Hangouts'); |
- this.helpee_ = new remoting.It2MeHelpeeChannel( |
- hangoutPort, |
- new remoting.It2MeHostFacade(), |
- new remoting.HostInstaller(), |
- this.onHelpeeChannelDisconnected.bind(this)); |
- this.helpee_.init(); |
-}; |