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

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

Issue 1015523005: [Webapp Refactor] Implements AppConnectedView. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: 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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 * Provides view port management utilities below for a desktop remoting session. 7 * Provides view port management utilities below for a desktop remoting session.
8 * - Enabling bump scrolling 8 * - Enabling bump scrolling
9 * - Resizing the viewport to fit the host desktop 9 * - Resizing the viewport to fit the host desktop
10 * - Resizing the host desktop to fit the client viewport. 10 * - Resizing the host desktop to fit the client viewport.
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
46 // and height of the client plugin so that bump-scrolling can be tested 46 // and height of the client plugin so that bump-scrolling can be tested
47 // without relying on the actual size of the host desktop. 47 // without relying on the actual size of the host desktop.
48 /** @private {number} */ 48 /** @private {number} */
49 this.pluginWidthForBumpScrollTesting_ = 0; 49 this.pluginWidthForBumpScrollTesting_ = 0;
50 /** @private {number} */ 50 /** @private {number} */
51 this.pluginHeightForBumpScrollTesting_ = 0; 51 this.pluginHeightForBumpScrollTesting_ = 0;
52 52
53 this.eventHooks_ = new base.Disposables( 53 this.eventHooks_ = new base.Disposables(
54 new base.EventHook( 54 new base.EventHook(
55 this.hostDesktop_, remoting.HostDesktop.Events.sizeChanged, 55 this.hostDesktop_, remoting.HostDesktop.Events.sizeChanged,
56 this.onDesktopSizeChanged_.bind(this)), 56 this.onDesktopSizeChanged_.bind(this)));
57 // TODO(kelvinp): Move window shape related logic into
58 // remoting.AppConnectedView.
59 new base.EventHook(
60 this.hostDesktop_, remoting.HostDesktop.Events.shapeChanged,
61 remoting.windowShape.setDesktopRects.bind(remoting.windowShape)));
62 57
63 if (this.hostOptions_.resizeToClient) { 58 if (this.hostOptions_.resizeToClient) {
64 // TODO(kelvinp): This call is required in app remoting to set the host
65 // desktop size. Move this to remoting.AppConnectedView later.
66 this.resizeHostDesktop_(); 59 this.resizeHostDesktop_();
67 } else { 60 } else {
68 this.onDesktopSizeChanged_(); 61 this.onDesktopSizeChanged_();
69 } 62 }
70 }; 63 };
71 64
72 remoting.DesktopViewport.prototype.dispose = function() { 65 remoting.DesktopViewport.prototype.dispose = function() {
73 base.dispose(this.eventHooks_); 66 base.dispose(this.eventHooks_);
74 this.eventHooks_ = null; 67 this.eventHooks_ = null;
75 base.dispose(this.bumpScroller_); 68 base.dispose(this.bumpScroller_);
(...skipping 263 matching lines...) Expand 10 before | Expand all | Expand 10 after
339 y: dimensions.yDpi }; 332 y: dimensions.yDpi };
340 var newSize = remoting.DesktopViewport.choosePluginSize( 333 var newSize = remoting.DesktopViewport.choosePluginSize(
341 this.getClientArea(), window.devicePixelRatio, 334 this.getClientArea(), window.devicePixelRatio,
342 desktopSize, desktopDpi, this.hostOptions_.desktopScale, 335 desktopSize, desktopDpi, this.hostOptions_.desktopScale,
343 remoting.fullscreen.isActive(), this.hostOptions_.shrinkToFit); 336 remoting.fullscreen.isActive(), this.hostOptions_.shrinkToFit);
344 337
345 // Resize the plugin if necessary. 338 // Resize the plugin if necessary.
346 console.log('plugin dimensions:' + newSize.width + 'x' + newSize.height); 339 console.log('plugin dimensions:' + newSize.width + 'x' + newSize.height);
347 this.pluginElement_.style.width = newSize.width + 'px'; 340 this.pluginElement_.style.width = newSize.width + 'px';
348 this.pluginElement_.style.height = newSize.height + 'px'; 341 this.pluginElement_.style.height = newSize.height + 'px';
349
350 // When we receive the first plugin dimensions from the host, we know that
351 // remote host has started.
352 remoting.app.onVideoStreamingStarted();
353 }; 342 };
354 343
355 /** 344 /**
356 * Helper function accepting client and host dimensions, and returning a chosen 345 * Helper function accepting client and host dimensions, and returning a chosen
357 * size for the plugin element, in DIPs. 346 * size for the plugin element, in DIPs.
358 * 347 *
359 * @param {{width: number, height: number}} clientSizeDips Available client 348 * @param {{width: number, height: number}} clientSizeDips Available client
360 * dimensions, in DIPs. 349 * dimensions, in DIPs.
361 * @param {number} clientPixelRatio Number of physical pixels per client DIP. 350 * @param {number} clientPixelRatio Number of physical pixels per client DIP.
362 * @param {{width: number, height: number}} desktopSize Size of the host desktop 351 * @param {{width: number, height: number}} desktopSize Size of the host desktop
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after
485 return { width: pluginWidth, height: pluginHeight }; 474 return { width: pluginWidth, height: pluginHeight };
486 }; 475 };
487 476
488 /** @private */ 477 /** @private */
489 remoting.DesktopViewport.prototype.resetScroll_ = function() { 478 remoting.DesktopViewport.prototype.resetScroll_ = function() {
490 this.pluginContainer_.style.marginTop = '0px'; 479 this.pluginContainer_.style.marginTop = '0px';
491 this.pluginContainer_.style.marginLeft = '0px'; 480 this.pluginContainer_.style.marginLeft = '0px';
492 }; 481 };
493 482
494 }()); 483 }());
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698