OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 'use strict'; | 5 'use strict'; |
6 | 6 |
7 /** @suppress {duplicate} */ | 7 /** @suppress {duplicate} */ |
8 var remoting = remoting || {}; | 8 var remoting = remoting || {}; |
9 | 9 |
10 /** | 10 /** |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
58 remoting.SignalStrategy.prototype.sendMessage = function(message) {}; | 58 remoting.SignalStrategy.prototype.sendMessage = function(message) {}; |
59 | 59 |
60 /** @return {remoting.SignalStrategy.State} Current state */ | 60 /** @return {remoting.SignalStrategy.State} Current state */ |
61 remoting.SignalStrategy.prototype.getState = function() {}; | 61 remoting.SignalStrategy.prototype.getState = function() {}; |
62 | 62 |
63 /** @return {remoting.Error} Error when in FAILED state. */ | 63 /** @return {remoting.Error} Error when in FAILED state. */ |
64 remoting.SignalStrategy.prototype.getError = function() {}; | 64 remoting.SignalStrategy.prototype.getError = function() {}; |
65 | 65 |
66 /** @return {string} Current JID when in CONNECTED state. */ | 66 /** @return {string} Current JID when in CONNECTED state. */ |
67 remoting.SignalStrategy.prototype.getJid = function() {}; | 67 remoting.SignalStrategy.prototype.getJid = function() {}; |
| 68 |
| 69 /** |
| 70 * Creates the appropriate signal strategy for the current environment. |
| 71 * @param {function(remoting.SignalStrategy.State): void} onStateChangedCallback |
| 72 * @return {remoting.SignalStrategy} New signal strategy object. |
| 73 */ |
| 74 remoting.SignalStrategy.create = function(onStateChangedCallback) { |
| 75 // Only use XMPP when TCP API is available and TLS support is enabled. That's |
| 76 // not the case for V1 app (socket API is available only to platform apps) |
| 77 // and for Chrome releases before 38. |
| 78 if (chrome.socket && chrome.socket.secure) { |
| 79 return new remoting.XmppConnection(onStateChangedCallback); |
| 80 } else { |
| 81 return new remoting.WcsAdapter(onStateChangedCallback); |
| 82 } |
| 83 }; |
OLD | NEW |