Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(110)

Side by Side Diff: remoting/webapp/crd/js/session_connector_impl.js

Issue 918783002: CRD Viewport Management refactor (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase + plumbing remoting.Host into clientSession Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
110 // Initialize/declare per-connection state. 110 // Initialize/declare per-connection state.
111 this.reset(); 111 this.reset();
112 }; 112 };
113 113
114 /** 114 /**
115 * Reset the per-connection state so that the object can be re-used for a 115 * Reset the per-connection state so that the object can be re-used for a
116 * second connection. Note the none of the shared WCS state is reset. 116 * second connection. Note the none of the shared WCS state is reset.
117 */ 117 */
118 remoting.SessionConnectorImpl.prototype.reset = function() { 118 remoting.SessionConnectorImpl.prototype.reset = function() {
119 /** 119 /**
120 * String used to identify the host to which to connect. For IT2Me, this is
121 * the first 7 digits of the access code; for Me2Me it is the host identifier.
122 *
123 * @type {string}
124 * @private
125 */
126 this.hostId_ = '';
127
128 /**
129 * For paired connections, the client id of this device, issued by the host. 120 * For paired connections, the client id of this device, issued by the host.
130 * 121 *
131 * @type {string} 122 * @type {string}
132 * @private 123 * @private
133 */ 124 */
134 this.clientPairingId_ = ''; 125 this.clientPairingId_ = '';
135 126
136 /** 127 /**
137 * For paired connections, the paired secret for this device, issued by the 128 * For paired connections, the paired secret for this device, issued by the
138 * host. 129 * host.
139 * 130 *
140 * @type {string} 131 * @type {string}
141 * @private 132 * @private
142 */ 133 */
143 this.clientPairedSecret_ = ''; 134 this.clientPairedSecret_ = '';
144 135
145 /** 136 /**
146 * String used to authenticate to the host on connection. For IT2Me, this is 137 * String used to authenticate to the host on connection. For IT2Me, this is
147 * the access code; for Me2Me it is the PIN. 138 * the access code; for Me2Me it is the PIN.
148 * 139 *
149 * @type {string} 140 * @type {string}
150 * @private 141 * @private
151 */ 142 */
152 this.passPhrase_ = ''; 143 this.passPhrase_ = '';
153 144
154 /** 145 /**
155 * @type {string} 146 * @type {remoting.Host}
156 * @private 147 * @private
157 */ 148 */
158 this.hostJid_ = ''; 149 this.host_ = null;
159
160 /**
161 * @type {string}
162 * @private
163 */
164 this.hostPublicKey_ = '';
165 150
166 /** 151 /**
167 * @type {boolean} 152 * @type {boolean}
168 * @private 153 * @private
169 */ 154 */
170 this.logHostOfflineErrors_ = false; 155 this.logHostOfflineErrors_ = false;
171 156
172 /** 157 /**
173 * @type {remoting.ClientSession} 158 * @type {remoting.ClientSession}
174 * @private 159 * @private
(...skipping 13 matching lines...) Expand all
188 */ 173 */
189 this.fetchPin_ = function(onPinFetched) {}; 174 this.fetchPin_ = function(onPinFetched) {};
190 175
191 /** 176 /**
192 * @type {function(string, string, string, 177 * @type {function(string, string, string,
193 * function(string, string):void): void} 178 * function(string, string):void): void}
194 * @private 179 * @private
195 */ 180 */
196 this.fetchThirdPartyToken_ = function( 181 this.fetchThirdPartyToken_ = function(
197 tokenUrl, scope, onThirdPartyTokenFetched) {}; 182 tokenUrl, scope, onThirdPartyTokenFetched) {};
198
199 /**
200 * Host 'name', as displayed in the client tool-bar. For a Me2Me connection,
201 * this is the name of the host; for an IT2Me connection, it is the email
202 * address of the person sharing their computer.
203 *
204 * @type {string}
205 * @private
206 */
207 this.hostDisplayName_ = '';
208 }; 183 };
209 184
210 /** 185 /**
211 * Initiate a Me2Me connection. 186 * Initiate a Me2Me connection.
212 * 187 *
213 * This doesn't report host-offline errors because the connection will 188 * This doesn't report host-offline errors because the connection will
214 * be retried and retryConnectMe2Me is responsible for reporting these errors. 189 * be retried and retryConnectMe2Me is responsible for reporting these errors.
215 * 190 *
216 * @param {remoting.Host} host The Me2Me host to which to connect. 191 * @param {remoting.Host} host The Me2Me host to which to connect.
217 * @param {function(boolean, function(string):void):void} fetchPin Function to 192 * @param {function(boolean, function(string):void):void} fetchPin Function to
218 * interactively obtain the PIN from the user. 193 * interactively obtain the PIN from the user.
219 * @param {function(string, string, string, 194 * @param {function(string, string, string,
220 * function(string, string): void): void} 195 * function(string, string): void): void}
221 * fetchThirdPartyToken Function to obtain a token from a third party 196 * fetchThirdPartyToken Function to obtain a token from a third party
222 * authenticaiton server. 197 * authenticaiton server.
223 * @param {string} clientPairingId The client id issued by the host when 198 * @param {string} clientPairingId The client id issued by the host when
224 * this device was paired, if it is already paired. 199 * this device was paired, if it is already paired.
225 * @param {string} clientPairedSecret The shared secret issued by the host when 200 * @param {string} clientPairedSecret The shared secret issued by the host when
226 * this device was paired, if it is already paired. 201 * this device was paired, if it is already paired.
227 * @return {void} Nothing. 202 * @return {void} Nothing.
228 */ 203 */
229 remoting.SessionConnectorImpl.prototype.connectMe2Me = 204 remoting.SessionConnectorImpl.prototype.connectMe2Me =
230 function(host, fetchPin, fetchThirdPartyToken, 205 function(host, fetchPin, fetchThirdPartyToken,
231 clientPairingId, clientPairedSecret) { 206 clientPairingId, clientPairedSecret) {
232 this.connectionMode_ = remoting.DesktopConnectedView.Mode.ME2ME; 207 this.connectionMode_ = remoting.DesktopConnectedView.Mode.ME2ME;
233 this.logHostOfflineErrors_ = false; 208 this.logHostOfflineErrors_ = false;
234 this.connectMe2MeInternal_( 209 this.connectMe2MeInternal_(host, fetchPin, fetchThirdPartyToken,
235 host.hostId, host.jabberId, host.publicKey, host.hostName, 210 clientPairingId, clientPairedSecret);
236 fetchPin, fetchThirdPartyToken,
237 clientPairingId, clientPairedSecret);
238 }; 211 };
239 212
240 /** 213 /**
241 * Retry connecting to a Me2Me host after a connection failure. 214 * Retry connecting to a Me2Me host after a connection failure.
242 * 215 *
243 * This is the same as connectMe2Me except that is will log errors if the 216 * This is the same as connectMe2Me except that is will log errors if the
244 * host is offline. 217 * host is offline.
245 * 218 *
246 * @param {remoting.Host} host The Me2Me host to refresh. 219 * @param {remoting.Host} host The Me2Me host to refresh.
247 * @return {void} Nothing. 220 * @return {void} Nothing.
248 */ 221 */
249 remoting.SessionConnectorImpl.prototype.retryConnectMe2Me = function(host) { 222 remoting.SessionConnectorImpl.prototype.retryConnectMe2Me = function(host) {
250 this.connectionMode_ = remoting.DesktopConnectedView.Mode.ME2ME; 223 this.connectionMode_ = remoting.DesktopConnectedView.Mode.ME2ME;
251 this.logHostOfflineErrors_ = true; 224 this.logHostOfflineErrors_ = true;
252 this.connectMe2MeInternal_( 225 this.connectMe2MeInternal_(host, this.fetchPin_, this.fetchThirdPartyToken_,
253 host.hostId, host.jabberId, host.publicKey, host.hostName, 226 this.clientPairingId_, this.clientPairedSecret_);
254 this.fetchPin_, this.fetchThirdPartyToken_,
255 this.clientPairingId_, this.clientPairedSecret_);
256 }; 227 };
257 228
258 /** 229 /**
259 * Initiate a Me2App connection. 230 * Initiate a Me2App connection.
260 * 231 *
261 * @param {remoting.Host} host The Me2Me host to which to connect. 232 * @param {remoting.Host} host The Me2Me host to which to connect.
262 * @param {function(string, string, string, 233 * @param {function(string, string, string,
263 * function(string, string): void): void} 234 * function(string, string): void): void}
264 * fetchThirdPartyToken Function to obtain a token from a third party 235 * fetchThirdPartyToken Function to obtain a token from a third party
265 * authenticaiton server. 236 * authenticaiton server.
266 * @return {void} Nothing. 237 * @return {void} Nothing.
267 */ 238 */
268 remoting.SessionConnectorImpl.prototype.connectMe2App = 239 remoting.SessionConnectorImpl.prototype.connectMe2App =
269 function(host, fetchThirdPartyToken) { 240 function(host, fetchThirdPartyToken) {
270 this.connectionMode_ = remoting.DesktopConnectedView.Mode.APP_REMOTING; 241 this.connectionMode_ = remoting.DesktopConnectedView.Mode.APP_REMOTING;
271 this.logHostOfflineErrors_ = true; 242 this.logHostOfflineErrors_ = true;
272 this.connectMe2MeInternal_( 243 this.connectMe2MeInternal_(host, function() {}, fetchThirdPartyToken, '', '');
273 host.hostId, host.jabberId, host.publicKey, host.hostName,
274 function() {}, fetchThirdPartyToken, '', '');
275 }; 244 };
276 245
277 /** 246 /**
278 * Update the pairing info so that the reconnect function will work correctly. 247 * Update the pairing info so that the reconnect function will work correctly.
279 * 248 *
280 * @param {string} clientId The paired client id. 249 * @param {string} clientId The paired client id.
281 * @param {string} sharedSecret The shared secret. 250 * @param {string} sharedSecret The shared secret.
282 */ 251 */
283 remoting.SessionConnectorImpl.prototype.updatePairingInfo = 252 remoting.SessionConnectorImpl.prototype.updatePairingInfo =
284 function(clientId, sharedSecret) { 253 function(clientId, sharedSecret) {
285 this.clientPairingId_ = clientId; 254 this.clientPairingId_ = clientId;
286 this.clientPairedSecret_ = sharedSecret; 255 this.clientPairedSecret_ = sharedSecret;
287 }; 256 };
288 257
289 /** 258 /**
290 * Initiate a Me2Me connection. 259 * Initiate a Me2Me connection.
291 * 260 *
292 * @param {string} hostId ID of the Me2Me host. 261 * @param {remoting.Host} host the Host to connect to.
293 * @param {string} hostJid XMPP JID of the host.
294 * @param {string} hostPublicKey Public Key of the host.
295 * @param {string} hostDisplayName Display name (friendly name) of the host.
296 * @param {function(boolean, function(string):void):void} fetchPin Function to 262 * @param {function(boolean, function(string):void):void} fetchPin Function to
297 * interactively obtain the PIN from the user. 263 * interactively obtain the PIN from the user.
298 * @param {function(string, string, string, 264 * @param {function(string, string, string,
299 * function(string, string): void): void} 265 * function(string, string): void): void}
300 * fetchThirdPartyToken Function to obtain a token from a third party 266 * fetchThirdPartyToken Function to obtain a token from a third party
301 * authenticaiton server. 267 * authenticaiton server.
302 * @param {string} clientPairingId The client id issued by the host when 268 * @param {string} clientPairingId The client id issued by the host when
303 * this device was paired, if it is already paired. 269 * this device was paired, if it is already paired.
304 * @param {string} clientPairedSecret The shared secret issued by the host when 270 * @param {string} clientPairedSecret The shared secret issued by the host when
305 * this device was paired, if it is already paired. 271 * this device was paired, if it is already paired.
306 * @return {void} Nothing. 272 * @return {void} Nothing.
307 * @private 273 * @private
308 */ 274 */
309 remoting.SessionConnectorImpl.prototype.connectMe2MeInternal_ = 275 remoting.SessionConnectorImpl.prototype.connectMe2MeInternal_ =
310 function(hostId, hostJid, hostPublicKey, hostDisplayName, 276 function(host, fetchPin, fetchThirdPartyToken,
311 fetchPin, fetchThirdPartyToken,
312 clientPairingId, clientPairedSecret) { 277 clientPairingId, clientPairedSecret) {
313 // Cancel any existing connect operation. 278 // Cancel any existing connect operation.
314 this.cancel(); 279 this.cancel();
315 280
316 this.hostId_ = hostId; 281 this.host_ = host;
317 this.hostJid_ = hostJid;
318 this.hostPublicKey_ = hostPublicKey;
319 this.fetchPin_ = fetchPin; 282 this.fetchPin_ = fetchPin;
320 this.fetchThirdPartyToken_ = fetchThirdPartyToken; 283 this.fetchThirdPartyToken_ = fetchThirdPartyToken;
321 this.hostDisplayName_ = hostDisplayName;
322 this.updatePairingInfo(clientPairingId, clientPairedSecret); 284 this.updatePairingInfo(clientPairingId, clientPairedSecret);
323 285
324 this.connectSignaling_(); 286 this.connectSignaling_();
325 } 287 };
326 288
327 /** 289 /**
328 * Initiate an IT2Me connection. 290 * Initiate an IT2Me connection.
329 * 291 *
330 * @param {string} accessCode The access code as entered by the user. 292 * @param {string} accessCode The access code as entered by the user.
331 * @return {void} Nothing. 293 * @return {void} Nothing.
332 */ 294 */
333 remoting.SessionConnectorImpl.prototype.connectIT2Me = function(accessCode) { 295 remoting.SessionConnectorImpl.prototype.connectIT2Me = function(accessCode) {
334 var kSupportIdLen = 7; 296 var kSupportIdLen = 7;
335 var kHostSecretLen = 5; 297 var kHostSecretLen = 5;
336 var kAccessCodeLen = kSupportIdLen + kHostSecretLen; 298 var kAccessCodeLen = kSupportIdLen + kHostSecretLen;
337 299
338 // Cancel any existing connect operation. 300 // Cancel any existing connect operation.
339 this.cancel(); 301 this.cancel();
340 302
341 var normalizedAccessCode = this.normalizeAccessCode_(accessCode); 303 var normalizedAccessCode = this.normalizeAccessCode_(accessCode);
342 if (normalizedAccessCode.length != kAccessCodeLen) { 304 if (normalizedAccessCode.length != kAccessCodeLen) {
343 this.onError_(remoting.Error.INVALID_ACCESS_CODE); 305 this.onError_(remoting.Error.INVALID_ACCESS_CODE);
344 return; 306 return;
345 } 307 }
346 308
347 this.hostId_ = normalizedAccessCode.substring(0, kSupportIdLen); 309 var hostId = normalizedAccessCode.substring(0, kSupportIdLen);
348 this.passPhrase_ = normalizedAccessCode; 310 this.passPhrase_ = normalizedAccessCode;
349 this.connectionMode_ = remoting.DesktopConnectedView.Mode.IT2ME; 311 this.connectionMode_ = remoting.DesktopConnectedView.Mode.IT2ME;
350 remoting.identity.callWithToken(this.connectIT2MeWithToken_.bind(this), 312 remoting.identity.callWithToken(
351 this.onError_); 313 this.connectIT2MeWithToken_.bind(this, hostId), this.onError_);
352 }; 314 };
353 315
354 /** 316 /**
355 * Reconnect a closed connection. 317 * Reconnect a closed connection.
356 * 318 *
357 * @return {void} Nothing. 319 * @return {void} Nothing.
358 */ 320 */
359 remoting.SessionConnectorImpl.prototype.reconnect = function() { 321 remoting.SessionConnectorImpl.prototype.reconnect = function() {
360 if (this.connectionMode_ == remoting.DesktopConnectedView.Mode.IT2ME) { 322 if (this.connectionMode_ == remoting.DesktopConnectedView.Mode.IT2ME) {
361 console.error('reconnect not supported for IT2Me.'); 323 console.error('reconnect not supported for IT2Me.');
362 return; 324 return;
363 } 325 }
364 this.logHostOfflineErrors_ = false; 326 this.logHostOfflineErrors_ = false;
365 this.connectMe2MeInternal_( 327 this.connectMe2MeInternal_(this.host_, this.fetchPin_,
366 this.hostId_, this.hostJid_, this.hostPublicKey_, this.hostDisplayName_, 328 this.fetchThirdPartyToken_, this.clientPairingId_,
367 this.fetchPin_, this.fetchThirdPartyToken_, 329 this.clientPairedSecret_);
368 this.clientPairingId_, this.clientPairedSecret_);
369 }; 330 };
370 331
371 /** 332 /**
372 * Cancel a connection-in-progress. 333 * Cancel a connection-in-progress.
373 */ 334 */
374 remoting.SessionConnectorImpl.prototype.cancel = function() { 335 remoting.SessionConnectorImpl.prototype.cancel = function() {
375 if (this.clientSession_) { 336 if (this.clientSession_) {
376 this.clientSession_.removePlugin(); 337 this.clientSession_.removePlugin();
377 this.clientSession_ = null; 338 this.clientSession_ = null;
378 } 339 }
(...skipping 12 matching lines...) Expand all
391 remoting.SessionConnectorImpl.prototype.getConnectionMode = function() { 352 remoting.SessionConnectorImpl.prototype.getConnectionMode = function() {
392 return this.connectionMode_; 353 return this.connectionMode_;
393 }; 354 };
394 355
395 /** 356 /**
396 * Get host ID. 357 * Get host ID.
397 * 358 *
398 * @return {string} 359 * @return {string}
399 */ 360 */
400 remoting.SessionConnectorImpl.prototype.getHostId = function() { 361 remoting.SessionConnectorImpl.prototype.getHostId = function() {
401 return this.hostId_; 362 return this.host_.hostId;
402 }; 363 };
403 364
404 /** 365 /**
405 * @private 366 * @private
406 */ 367 */
407 remoting.SessionConnectorImpl.prototype.connectSignaling_ = function() { 368 remoting.SessionConnectorImpl.prototype.connectSignaling_ = function() {
408 base.dispose(this.signalStrategy_); 369 base.dispose(this.signalStrategy_);
409 this.signalStrategy_ = null; 370 this.signalStrategy_ = null;
410 371
411 /** @type {remoting.SessionConnectorImpl} */ 372 /** @type {remoting.SessionConnectorImpl} */
(...skipping 28 matching lines...) Expand all
440 }; 401 };
441 402
442 /** 403 /**
443 * @private 404 * @private
444 * @param {remoting.SignalStrategy.State} state 405 * @param {remoting.SignalStrategy.State} state
445 */ 406 */
446 remoting.SessionConnectorImpl.prototype.onSignalingState_ = function(state) { 407 remoting.SessionConnectorImpl.prototype.onSignalingState_ = function(state) {
447 switch (state) { 408 switch (state) {
448 case remoting.SignalStrategy.State.CONNECTED: 409 case remoting.SignalStrategy.State.CONNECTED:
449 // Proceed only if the connection hasn't been canceled. 410 // Proceed only if the connection hasn't been canceled.
450 if (this.hostJid_) { 411 if (this.host_.jabberId) {
451 this.createSession_(); 412 this.createSession_();
452 } 413 }
453 break; 414 break;
454 415
455 case remoting.SignalStrategy.State.FAILED: 416 case remoting.SignalStrategy.State.FAILED:
456 this.onError_(this.signalStrategy_.getError()); 417 this.onError_(this.signalStrategy_.getError());
457 break; 418 break;
458 } 419 }
459 }; 420 };
460 421
461 /** 422 /**
462 * Continue an IT2Me connection once an access token has been obtained. 423 * Continue an IT2Me connection once an access token has been obtained.
463 * 424 *
425 * @param {string} hostId
464 * @param {string} token An OAuth2 access token. 426 * @param {string} token An OAuth2 access token.
465 * @return {void} Nothing. 427 * @return {void} Nothing.
466 * @private 428 * @private
467 */ 429 */
468 remoting.SessionConnectorImpl.prototype.connectIT2MeWithToken_ = 430 remoting.SessionConnectorImpl.prototype.connectIT2MeWithToken_ =
469 function(token) { 431 function(hostId, token) {
470 // Resolve the host id to get the host JID. 432 // Resolve the host id to get the host JID.
471 this.pendingXhr_ = remoting.xhr.get( 433 this.pendingXhr_ = remoting.xhr.get(
472 remoting.settings.DIRECTORY_API_BASE_URL + '/support-hosts/' + 434 remoting.settings.DIRECTORY_API_BASE_URL + '/support-hosts/' +
473 encodeURIComponent(this.hostId_), 435 encodeURIComponent(hostId),
474 this.onIT2MeHostInfo_.bind(this), 436 this.onIT2MeHostInfo_.bind(this, hostId),
475 '', 437 '',
476 { 'Authorization': 'OAuth ' + token }); 438 { 'Authorization': 'OAuth ' + token });
477 }; 439 };
478 440
479 /** 441 /**
480 * Continue an IT2Me connection once the host JID has been looked up. 442 * Continue an IT2Me connection once the host JID has been looked up.
481 * 443 *
444 * @param {string} hostId
482 * @param {XMLHttpRequest} xhr The server response to the support-hosts query. 445 * @param {XMLHttpRequest} xhr The server response to the support-hosts query.
483 * @return {void} Nothing. 446 * @return {void} Nothing.
484 * @private 447 * @private
485 */ 448 */
486 remoting.SessionConnectorImpl.prototype.onIT2MeHostInfo_ = function(xhr) { 449 remoting.SessionConnectorImpl.prototype.onIT2MeHostInfo_ = function(hostId,
450 xhr) {
487 this.pendingXhr_ = null; 451 this.pendingXhr_ = null;
488 if (xhr.status == 200) { 452 if (xhr.status == 200) {
489 var host = /** @type {{data: {jabberId: string, publicKey: string}}} */ 453 var host = /** @type {{data: {jabberId: string, publicKey: string}}} */
490 (base.jsonParseSafe(xhr.responseText)); 454 (base.jsonParseSafe(xhr.responseText));
491 if (host && host.data && host.data.jabberId && host.data.publicKey) { 455 if (host && host.data && host.data.jabberId && host.data.publicKey) {
492 this.hostJid_ = host.data.jabberId; 456 this.host_ = new remoting.Host();
493 this.hostPublicKey_ = host.data.publicKey; 457 this.host_.hostId = hostId;
494 this.hostDisplayName_ = this.hostJid_.split('/')[0]; 458 this.host_.jabberId = host.data.jabberId;
459 this.host_.publicKey = host.data.publicKey;
460 this.host_.hostName = host.data.jabberId.split('/')[0];
495 this.connectSignaling_(); 461 this.connectSignaling_();
496 return; 462 return;
497 } else { 463 } else {
498 console.error('Invalid "support-hosts" response from server.'); 464 console.error('Invalid "support-hosts" response from server.');
499 } 465 }
500 } else { 466 } else {
501 this.onError_(this.translateSupportHostsError_(xhr.status)); 467 this.onError_(this.translateSupportHostsError_(xhr.status));
502 } 468 }
503 }; 469 };
504 470
505 /** 471 /**
506 * Creates ClientSession object. 472 * Creates ClientSession object.
507 */ 473 */
508 remoting.SessionConnectorImpl.prototype.createSession_ = function() { 474 remoting.SessionConnectorImpl.prototype.createSession_ = function() {
509 // In some circumstances, the WCS <iframe> can get reloaded, which results 475 // In some circumstances, the WCS <iframe> can get reloaded, which results
510 // in a new clientJid and a new callback. In this case, remove the old 476 // in a new clientJid and a new callback. In this case, remove the old
511 // client plugin before instantiating a new one. 477 // client plugin before instantiating a new one.
512 if (this.clientSession_) { 478 if (this.clientSession_) {
513 this.clientSession_.removePlugin(); 479 this.clientSession_.removePlugin();
514 this.clientSession_ = null; 480 this.clientSession_ = null;
515 } 481 }
516 482
517 var authenticationMethods = 483 var authenticationMethods =
518 'third_party,spake2_pair,spake2_hmac,spake2_plain'; 484 'third_party,spake2_pair,spake2_hmac,spake2_plain';
519 this.clientSession_ = new remoting.ClientSession( 485 this.clientSession_ = new remoting.ClientSession(
520 this.signalStrategy_, this.clientContainer_, this.hostDisplayName_, 486 this.host_, this.signalStrategy_, this.clientContainer_, this.passPhrase_,
521 this.passPhrase_, this.fetchPin_, this.fetchThirdPartyToken_, 487 this.fetchPin_, this.fetchThirdPartyToken_, authenticationMethods,
522 authenticationMethods, this.hostId_, this.hostJid_, this.hostPublicKey_,
523 this.connectionMode_, this.clientPairingId_, this.clientPairedSecret_, 488 this.connectionMode_, this.clientPairingId_, this.clientPairedSecret_,
524 this.defaultRemapKeys_); 489 this.defaultRemapKeys_);
525 this.clientSession_.logHostOfflineErrors(this.logHostOfflineErrors_); 490 this.clientSession_.logHostOfflineErrors(this.logHostOfflineErrors_);
526 this.clientSession_.addEventListener( 491 this.clientSession_.addEventListener(
527 remoting.ClientSession.Events.stateChanged, 492 remoting.ClientSession.Events.stateChanged,
528 this.bound_.onStateChange); 493 this.bound_.onStateChange);
529 this.clientSession_.createPluginAndConnect(this.onExtensionMessage_, 494 this.clientSession_.createPluginAndConnect(this.onExtensionMessage_,
530 this.requiredCapabilities_); 495 this.requiredCapabilities_);
531 }; 496 };
532 497
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after
655 */ 620 */
656 remoting.DefaultSessionConnectorFactory.prototype.createConnector = 621 remoting.DefaultSessionConnectorFactory.prototype.createConnector =
657 function(clientContainer, onConnected, onError, onExtensionMessage, 622 function(clientContainer, onConnected, onError, onExtensionMessage,
658 onConnectionFailed, requiredCapabilities, defaultRemapKeys) { 623 onConnectionFailed, requiredCapabilities, defaultRemapKeys) {
659 return new remoting.SessionConnectorImpl(clientContainer, onConnected, 624 return new remoting.SessionConnectorImpl(clientContainer, onConnected,
660 onError, onExtensionMessage, 625 onError, onExtensionMessage,
661 onConnectionFailed, 626 onConnectionFailed,
662 requiredCapabilities, 627 requiredCapabilities,
663 defaultRemapKeys); 628 defaultRemapKeys);
664 }; 629 };
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698