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

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

Issue 952353002: Requiem for client_screen.js (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase + Ready for Check-in Created 5 years, 9 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 (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 24 matching lines...) Expand all
35 * @param {remoting.Host} host The host to connect to. 35 * @param {remoting.Host} host The host to connect to.
36 * @param {remoting.SignalStrategy} signalStrategy Signal strategy. 36 * @param {remoting.SignalStrategy} signalStrategy Signal strategy.
37 * @param {remoting.CredentialsProvider} credentialsProvider 37 * @param {remoting.CredentialsProvider} credentialsProvider
38 * The credentialsProvider to authenticate the client with the host. 38 * The credentialsProvider to authenticate the client with the host.
39 * @param {HTMLElement} container Container element for the client view. 39 * @param {HTMLElement} container Container element for the client view.
40 * @param {remoting.DesktopConnectedView.Mode} mode The mode of this connection. 40 * @param {remoting.DesktopConnectedView.Mode} mode The mode of this connection.
41 * @param {string} defaultRemapKeys The default set of remap keys, to use 41 * @param {string} defaultRemapKeys The default set of remap keys, to use
42 * when the client doesn't define any. 42 * when the client doesn't define any.
43 * @constructor 43 * @constructor
44 * @extends {base.EventSourceImpl} 44 * @extends {base.EventSourceImpl}
45 * @implements {base.Disposable}
45 */ 46 */
46 remoting.ClientSession = function(host, signalStrategy, credentialsProvider, 47 remoting.ClientSession = function(host, signalStrategy, credentialsProvider,
47 container, mode, defaultRemapKeys) { 48 container, mode, defaultRemapKeys) {
48 /** @private */ 49 /** @private */
49 this.state_ = remoting.ClientSession.State.CREATED; 50 this.state_ = remoting.ClientSession.State.CREATED;
50 51
51 /** @private */ 52 /** @private */
52 this.error_ = remoting.Error.NONE; 53 this.error_ = remoting.Error.NONE;
53 54
54 /** @private */ 55 /** @private */
(...skipping 249 matching lines...) Expand 10 before | Expand all | Expand 10 after
304 /** 305 /**
305 * Deletes the <embed> element from the container, without sending a 306 * Deletes the <embed> element from the container, without sending a
306 * session_terminate request. This is to be called when the session was 307 * session_terminate request. This is to be called when the session was
307 * disconnected by the Host. 308 * disconnected by the Host.
308 * 309 *
309 * @return {void} Nothing. 310 * @return {void} Nothing.
310 */ 311 */
311 remoting.ClientSession.prototype.removePlugin = function() { 312 remoting.ClientSession.prototype.removePlugin = function() {
312 this.uiHandler_.removePlugin(); 313 this.uiHandler_.removePlugin();
313 this.plugin_ = null; 314 this.plugin_ = null;
315 remoting.desktopConnectedView = null;
314 }; 316 };
315 317
316 /** 318 /**
317 * Disconnect the current session with a particular |error|. The session will 319 * Disconnect the current session with a particular |error|. The session will
318 * raise a |stateChanged| event in response to it. The caller should then call 320 * raise a |stateChanged| event in response to it. The caller should then call
319 * |cleanup| to remove and destroy the <embed> element. 321 * dispose() to remove and destroy the <embed> element.
320 * 322 *
321 * @param {remoting.Error} error The reason for the disconnection. Use 323 * @param {remoting.Error} error The reason for the disconnection. Use
322 * remoting.Error.NONE if there is no error. 324 * remoting.Error.NONE if there is no error.
323 * @return {void} Nothing. 325 * @return {void} Nothing.
324 */ 326 */
325 remoting.ClientSession.prototype.disconnect = function(error) { 327 remoting.ClientSession.prototype.disconnect = function(error) {
326 var state = (error == remoting.Error.NONE) ? 328 var state = (error == remoting.Error.NONE) ?
327 remoting.ClientSession.State.CLOSED : 329 remoting.ClientSession.State.CLOSED :
328 remoting.ClientSession.State.FAILED; 330 remoting.ClientSession.State.FAILED;
329 331
330 // The plugin won't send a state change notification, so we explicitly log 332 // The plugin won't send a state change notification, so we explicitly log
331 // the fact that the connection has closed. 333 // the fact that the connection has closed.
332 this.logToServer.logClientSessionStateChange(state, error); 334 this.logToServer.logClientSessionStateChange(state, error);
333 this.error_ = error; 335 this.error_ = error;
334 this.setState_(state); 336 this.setState_(state);
335 }; 337 };
336 338
337 /** 339 /**
338 * Deletes the <embed> element from the container and disconnects. 340 * Deletes the <embed> element from the container and disconnects.
339 * 341 *
340 * @return {void} Nothing. 342 * @return {void} Nothing.
341 */ 343 */
342 remoting.ClientSession.prototype.cleanup = function() { 344 remoting.ClientSession.prototype.dispose = function() {
343 this.sendIq_( 345 this.sendIq_(
344 '<cli:iq ' + 346 '<cli:iq ' +
345 'to="' + this.host_.jabberId + '" ' + 347 'to="' + this.host_.jabberId + '" ' +
346 'type="set" ' + 348 'type="set" ' +
347 'id="session-terminate" ' + 349 'id="session-terminate" ' +
348 'xmlns:cli="jabber:client">' + 350 'xmlns:cli="jabber:client">' +
349 '<jingle ' + 351 '<jingle ' +
350 'xmlns="urn:xmpp:jingle:1" ' + 352 'xmlns="urn:xmpp:jingle:1" ' +
351 'action="session-terminate" ' + 353 'action="session-terminate" ' +
352 'sid="' + this.sessionId_ + '">' + 354 'sid="' + this.sessionId_ + '">' +
(...skipping 411 matching lines...) Expand 10 before | Expand all | Expand 10 after
764 * @param {boolean} enable True to enable rendering. 766 * @param {boolean} enable True to enable rendering.
765 */ 767 */
766 remoting.ClientSession.prototype.enableDebugRegion = function(enable) { 768 remoting.ClientSession.prototype.enableDebugRegion = function(enable) {
767 if (enable) { 769 if (enable) {
768 this.plugin_.setDebugDirtyRegionHandler( 770 this.plugin_.setDebugDirtyRegionHandler(
769 this.uiHandler_.handleDebugRegion.bind(this.uiHandler_)); 771 this.uiHandler_.handleDebugRegion.bind(this.uiHandler_));
770 } else { 772 } else {
771 this.plugin_.setDebugDirtyRegionHandler(null); 773 this.plugin_.setDebugDirtyRegionHandler(null);
772 } 774 }
773 } 775 }
OLDNEW
« no previous file with comments | « remoting/webapp/crd/js/client_screen.js ('k') | remoting/webapp/crd/js/desktop_connected_view.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698