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

Side by Side Diff: remoting/webapp/client_plugin_async.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_plugin.js ('k') | remoting/webapp/client_screen.js » ('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 that wraps low-level details of interacting with the client plugin. 7 * Class that wraps low-level details of interacting with the client plugin.
8 * 8 *
9 * This abstracts a <embed> element and controls the plugin which does 9 * This abstracts a <embed> element and controls the plugin which does
10 * the actual remoting work. It also handles differences between 10 * the actual remoting work. It also handles differences between
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
43 /** 43 /**
44 * @param {string} tokenUrl Token-request URL, received from the host. 44 * @param {string} tokenUrl Token-request URL, received from the host.
45 * @param {string} hostPublicKey Public key for the host. 45 * @param {string} hostPublicKey Public key for the host.
46 * @param {string} scope OAuth scope to request the token for. 46 * @param {string} scope OAuth scope to request the token for.
47 */ 47 */
48 this.fetchThirdPartyTokenHandler = function( 48 this.fetchThirdPartyTokenHandler = function(
49 tokenUrl, hostPublicKey, scope) {}; 49 tokenUrl, hostPublicKey, scope) {};
50 this.onDesktopSizeUpdateHandler = function () {}; 50 this.onDesktopSizeUpdateHandler = function () {};
51 /** @param {!Array.<string>} capabilities The negotiated capabilities. */ 51 /** @param {!Array.<string>} capabilities The negotiated capabilities. */
52 this.onSetCapabilitiesHandler = function (capabilities) {}; 52 this.onSetCapabilitiesHandler = function (capabilities) {};
53 this.fetchPinHandler = function () {}; 53 this.fetchPinHandler = function (supportsPairing) {};
54 54
55 /** @type {number} */ 55 /** @type {number} */
56 this.pluginApiVersion_ = -1; 56 this.pluginApiVersion_ = -1;
57 /** @type {Array.<string>} */ 57 /** @type {Array.<string>} */
58 this.pluginApiFeatures_ = []; 58 this.pluginApiFeatures_ = [];
59 /** @type {number} */ 59 /** @type {number} */
60 this.pluginApiMinVersion_ = -1; 60 this.pluginApiMinVersion_ = -1;
61 /** @type {!Array.<string>} */ 61 /** @type {!Array.<string>} */
62 this.capabilities_ = []; 62 this.capabilities_ = [];
63 /** @type {boolean} */ 63 /** @type {boolean} */
(...skipping 192 matching lines...) Expand 10 before | Expand all | Expand 10 after
256 remoting.clientSession.onFirstFrameReceived(); 256 remoting.clientSession.onFirstFrameReceived();
257 } 257 }
258 } else if (message.method == 'onConnectionReady') { 258 } else if (message.method == 'onConnectionReady') {
259 if (typeof message.data['ready'] != 'boolean') { 259 if (typeof message.data['ready'] != 'boolean') {
260 console.error('Received incorrect onConnectionReady message.'); 260 console.error('Received incorrect onConnectionReady message.');
261 return; 261 return;
262 } 262 }
263 var ready = /** @type {boolean} */ message.data['ready']; 263 var ready = /** @type {boolean} */ message.data['ready'];
264 this.onConnectionReadyHandler(ready); 264 this.onConnectionReadyHandler(ready);
265 } else if (message.method == 'fetchPin') { 265 } else if (message.method == 'fetchPin') {
266 this.fetchPinHandler(); 266 // The pairingSupported value in the dictionary indicates whether both
267 // client and host support pairing. If the client doesn't support pairing,
268 // then the value won't be there at all, so give it a default of false.
269 /** @type {boolean} */
270 var pairingSupported = false;
271 if ('pairingSupported' in message.data) {
272 pairingSupported =
273 /** @type {boolean} */ message.data['pairingSupported'];
274 if (typeof pairingSupported != 'boolean') {
275 console.error('Received incorrect fetchPin message.');
276 return;
277 }
278 }
279 this.fetchPinHandler(pairingSupported);
267 } else if (message.method == 'setCapabilities') { 280 } else if (message.method == 'setCapabilities') {
268 if (typeof message.data['capabilities'] != 'string') { 281 if (typeof message.data['capabilities'] != 'string') {
269 console.error('Received incorrect setCapabilities message.'); 282 console.error('Received incorrect setCapabilities message.');
270 return; 283 return;
271 } 284 }
272 285
273 /** @type {!Array.<string>} */ 286 /** @type {!Array.<string>} */
274 var capabilities = tokenize(message.data['capabilities']); 287 var capabilities = tokenize(message.data['capabilities']);
275 this.onSetCapabilitiesHandler(capabilities); 288 this.onSetCapabilitiesHandler(capabilities);
276 } else if (message.method == 'fetchThirdPartyToken') { 289 } else if (message.method == 'fetchThirdPartyToken') {
(...skipping 290 matching lines...) Expand 10 before | Expand all | Expand 10 after
567 this.plugin.width = width; 580 this.plugin.width = width;
568 this.plugin.height = height; 581 this.plugin.height = height;
569 // Center the plugin just underneath the "Connnecting..." dialog. 582 // Center the plugin just underneath the "Connnecting..." dialog.
570 var parentNode = this.plugin.parentNode; 583 var parentNode = this.plugin.parentNode;
571 var dialog = document.getElementById('client-dialog'); 584 var dialog = document.getElementById('client-dialog');
572 var dialogRect = dialog.getBoundingClientRect(); 585 var dialogRect = dialog.getBoundingClientRect();
573 parentNode.style.top = (dialogRect.bottom + 16) + 'px'; 586 parentNode.style.top = (dialogRect.bottom + 16) + 'px';
574 parentNode.style.left = (window.innerWidth - width) / 2 + 'px'; 587 parentNode.style.left = (window.innerWidth - width) / 2 + 'px';
575 } 588 }
576 }; 589 };
OLDNEW
« no previous file with comments | « remoting/webapp/client_plugin.js ('k') | remoting/webapp/client_screen.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698