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

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

Issue 1016623002: [Webapp Refactor] Reparent the ConnectedView into the delegate. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebasing 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
« no previous file with comments | « no previous file | remoting/webapp/browser_test/browser_test.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 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 /** 5 /**
6 * @fileoverview 6 * @fileoverview
7 * This class implements the functionality that is specific to application 7 * This class implements the functionality that is specific to application
8 * remoting ("AppRemoting" or AR). 8 * remoting ("AppRemoting" or AR).
9 */ 9 */
10 10
(...skipping 13 matching lines...) Expand all
24 24
25 /** @private {remoting.ApplicationContextMenu} */ 25 /** @private {remoting.ApplicationContextMenu} */
26 this.contextMenu_ = null; 26 this.contextMenu_ = null;
27 27
28 /** @private {remoting.KeyboardLayoutsMenu} */ 28 /** @private {remoting.KeyboardLayoutsMenu} */
29 this.keyboardLayoutsMenu_ = null; 29 this.keyboardLayoutsMenu_ = null;
30 30
31 /** @private {remoting.WindowActivationMenu} */ 31 /** @private {remoting.WindowActivationMenu} */
32 this.windowActivationMenu_ = null; 32 this.windowActivationMenu_ = null;
33 33
34 /** @private {base.RepeatingTimer} */ 34 /** @private {base.RepeatingTimer} */
35 this.pingTimer_ = null; 35 this.pingTimer_ = null;
36
37 /** @private {remoting.DesktopConnectedView} */
38 this.connectedView_ = null;
36 }; 39 };
37 40
38 /** 41 /**
39 * Type definition for the RunApplicationResponse returned by the API. 42 * Type definition for the RunApplicationResponse returned by the API.
40 * 43 *
41 * @constructor 44 * @constructor
42 * @private 45 * @private
43 */ 46 */
44 remoting.AppRemoting.AppHostResponse = function() { 47 remoting.AppRemoting.AppHostResponse = function() {
45 /** @type {string} */ 48 /** @type {string} */
(...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after
235 238
236 remoting.app.getSessionConnector().registerProtocolExtension(this); 239 remoting.app.getSessionConnector().registerProtocolExtension(this);
237 240
238 var clientSession = connectionInfo.session(); 241 var clientSession = connectionInfo.session();
239 // Set up a ping at 10-second intervals to test the connection speed. 242 // Set up a ping at 10-second intervals to test the connection speed.
240 var CONNECTION_SPEED_PING_INTERVAL = 10 * 1000; 243 var CONNECTION_SPEED_PING_INTERVAL = 10 * 1000;
241 this.pingTimer_ = new base.RepeatingTimer(function () { 244 this.pingTimer_ = new base.RepeatingTimer(function () {
242 var message = { timestamp: new Date().getTime() }; 245 var message = { timestamp: new Date().getTime() };
243 clientSession.sendClientMessage('pingRequest', JSON.stringify(message)); 246 clientSession.sendClientMessage('pingRequest', JSON.stringify(message));
244 }, CONNECTION_SPEED_PING_INTERVAL); 247 }, CONNECTION_SPEED_PING_INTERVAL);
248
249 // TODO(kelvinp): Move all app remoting specific logic into
250 // remoting.AppRemotingView.
251 this.connectedView_ = new remoting.DesktopConnectedView(
252 document.getElementById('client-container'), connectionInfo,
253 this.getDefaultRemapKeys());
245 }; 254 };
246 255
247 /** 256 /**
248 * Called when the current session has been disconnected. 257 * Called when the current session has been disconnected.
249 * 258 *
250 * @return {void} Nothing. 259 * @return {void} Nothing.
251 */ 260 */
252 remoting.AppRemoting.prototype.handleDisconnected = function() { 261 remoting.AppRemoting.prototype.handleDisconnected = function() {
253 // Cancel the ping when the connection closes. 262 // Cancel the ping when the connection closes.
254 base.dispose(this.pingTimer_); 263 base.dispose(this.pingTimer_);
255 this.pingTimer_ = null; 264 this.pingTimer_ = null;
256 265
266 base.dispose(this.connectedView_);
267 this.connectedView_ = null;
268
257 chrome.app.window.current().close(); 269 chrome.app.window.current().close();
258 }; 270 };
259 271
260 /** 272 /**
261 * Called when the current session's connection has failed. 273 * Called when the current session's connection has failed.
262 * 274 *
263 * @param {remoting.SessionConnector} connector 275 * @param {remoting.SessionConnector} connector
264 * @param {!remoting.Error} error 276 * @param {!remoting.Error} error
265 * @return {void} Nothing. 277 * @return {void} Nothing.
266 */ 278 */
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
357 chrome.i18n.getMessage(/*i18n-content*/'CONNECTION_FAILED'), 369 chrome.i18n.getMessage(/*i18n-content*/'CONNECTION_FAILED'),
358 chrome.i18n.getMessage(error.getTag())); 370 chrome.i18n.getMessage(error.getTag()));
359 }; 371 };
360 372
361 /** 373 /**
362 * Close the loading window before exiting. 374 * Close the loading window before exiting.
363 */ 375 */
364 remoting.AppRemoting.prototype.handleExit = function() { 376 remoting.AppRemoting.prototype.handleExit = function() {
365 remoting.LoadingWindow.close(); 377 remoting.LoadingWindow.close();
366 }; 378 };
OLDNEW
« no previous file with comments | « no previous file | remoting/webapp/browser_test/browser_test.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698