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

Side by Side Diff: remoting/webapp/client_session.js

Issue 15685008: Show a 'remember me' checkbox in the web-app when connecting to a host that supports pairing. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Reviewer comments. Created 7 years, 7 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 | Annotate | Revision Log
« no previous file with comments | « remoting/webapp/client_screen.js ('k') | remoting/webapp/main.css » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 * Class handling creation and teardown of a remoting client session. 7 * Class handling creation and teardown of a remoting client session.
8 * 8 *
9 * The ClientSession class controls lifetime of the client plugin 9 * The ClientSession class controls lifetime of the client plugin
10 * object and provides the plugin with the functionality it needs to 10 * object and provides the plugin with the functionality it needs to
(...skipping 10 matching lines...) Expand all
21 21
22 /** @suppress {duplicate} */ 22 /** @suppress {duplicate} */
23 var remoting = remoting || {}; 23 var remoting = remoting || {};
24 24
25 /** 25 /**
26 * @param {string} hostJid The jid of the host to connect to. 26 * @param {string} hostJid The jid of the host to connect to.
27 * @param {string} clientJid The jid of the WCS client. 27 * @param {string} clientJid The jid of the WCS client.
28 * @param {string} hostPublicKey The base64 encoded version of the host's 28 * @param {string} hostPublicKey The base64 encoded version of the host's
29 * public key. 29 * public key.
30 * @param {string} accessCode The IT2Me access code. Blank for Me2Me. 30 * @param {string} accessCode The IT2Me access code. Blank for Me2Me.
31 * @param {function(function(string): void): void} fetchPin Called by Me2Me 31 * @param {function(boolean, function(string): void): void} fetchPin
32 * connections when a PIN needs to be obtained interactively. 32 * Called by Me2Me connections when a PIN needs to be obtained
33 * interactively.
33 * @param {function(string, string, string, 34 * @param {function(string, string, string,
34 * function(string, string): void): void} 35 * function(string, string): void): void}
35 * fetchThirdPartyToken Called by Me2Me connections when a third party 36 * fetchThirdPartyToken Called by Me2Me connections when a third party
36 * authentication token must be obtained. 37 * authentication token must be obtained.
37 * @param {string} authenticationMethods Comma-separated list of 38 * @param {string} authenticationMethods Comma-separated list of
38 * authentication methods the client should attempt to use. 39 * authentication methods the client should attempt to use.
39 * @param {string} hostId The host identifier for Me2Me, or empty for IT2Me. 40 * @param {string} hostId The host identifier for Me2Me, or empty for IT2Me.
40 * Mixed into authentication hashes for some authentication methods. 41 * Mixed into authentication hashes for some authentication methods.
41 * @param {remoting.ClientSession.Mode} mode The mode of this connection. 42 * @param {remoting.ClientSession.Mode} mode The mode of this connection.
42 * @param {string} hostDisplayName The name of the host for display purposes. 43 * @param {string} hostDisplayName The name of the host for display purposes.
(...skipping 695 matching lines...) Expand 10 before | Expand all | Expand 10 after
738 }; 739 };
739 plugin.fetchThirdPartyTokenHandler = fetchThirdPartyToken; 740 plugin.fetchThirdPartyTokenHandler = fetchThirdPartyToken;
740 } 741 }
741 if (this.accessCode_) { 742 if (this.accessCode_) {
742 // Shared secret was already supplied before connecting (It2Me case). 743 // Shared secret was already supplied before connecting (It2Me case).
743 this.connectToHost_(this.accessCode_); 744 this.connectToHost_(this.accessCode_);
744 } else if (plugin.hasFeature( 745 } else if (plugin.hasFeature(
745 remoting.ClientPlugin.Feature.ASYNC_PIN)) { 746 remoting.ClientPlugin.Feature.ASYNC_PIN)) {
746 // Plugin supports asynchronously asking for the PIN. 747 // Plugin supports asynchronously asking for the PIN.
747 plugin.useAsyncPinDialog(); 748 plugin.useAsyncPinDialog();
748 var fetchPin = function() { 749 /** @param {boolean} pairingSupported */
749 that.fetchPin_(plugin.onPinFetched.bind(plugin)); 750 var fetchPin = function(pairingSupported) {
751 that.fetchPin_(pairingSupported, plugin.onPinFetched.bind(plugin));
750 }; 752 };
751 plugin.fetchPinHandler = fetchPin; 753 plugin.fetchPinHandler = fetchPin;
752 this.connectToHost_(''); 754 this.connectToHost_('');
753 } else { 755 } else {
754 // Plugin doesn't support asynchronously asking for the PIN, ask now. 756 // Clients that don't support asking for a PIN asynchronously also don't
755 this.fetchPin_(this.connectToHost_.bind(this)); 757 // support pairing, so request the PIN now without offering to remember it.
758 this.fetchPin_(false, this.connectToHost_.bind(this));
756 } 759 }
757 }; 760 };
758 761
759 /** 762 /**
760 * Connects to the host. 763 * Connects to the host.
761 * 764 *
762 * @param {string} sharedSecret Shared secret for SPAKE negotiation. 765 * @param {string} sharedSecret Shared secret for SPAKE negotiation.
763 * @return {void} Nothing. 766 * @return {void} Nothing.
764 * @private 767 * @private
765 */ 768 */
(...skipping 435 matching lines...) Expand 10 before | Expand all | Expand 10 after
1201 var lateAdjustment = 1 + (now - expected) / timeout; 1204 var lateAdjustment = 1 + (now - expected) / timeout;
1202 if (!that.scroll_(lateAdjustment * dx, lateAdjustment * dy)) { 1205 if (!that.scroll_(lateAdjustment * dx, lateAdjustment * dy)) {
1203 that.bumpScrollTimer_ = window.setTimeout( 1206 that.bumpScrollTimer_ = window.setTimeout(
1204 function() { repeatScroll(now + timeout); }, 1207 function() { repeatScroll(now + timeout); },
1205 timeout); 1208 timeout);
1206 } 1209 }
1207 }; 1210 };
1208 repeatScroll(new Date().getTime()); 1211 repeatScroll(new Date().getTime());
1209 } 1212 }
1210 }; 1213 };
OLDNEW
« no previous file with comments | « remoting/webapp/client_screen.js ('k') | remoting/webapp/main.css » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698