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

Unified Diff: remoting/webapp/browser_test/bump_scroll_browser_test.js

Issue 918783002: CRD Viewport Management refactor (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Reviewer's feedback Created 5 years, 10 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « remoting/webapp/base/js/base.js ('k') | remoting/webapp/crd/js/bump_scroller.js » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: remoting/webapp/browser_test/bump_scroll_browser_test.js
diff --git a/remoting/webapp/browser_test/bump_scroll_browser_test.js b/remoting/webapp/browser_test/bump_scroll_browser_test.js
index 0dddf31273f49cfa2c9d67662c8ae8bee6050b0a..76b5211b77beede8dd779210a802d7944a89213e 100644
--- a/remoting/webapp/browser_test/bump_scroll_browser_test.js
+++ b/remoting/webapp/browser_test/bump_scroll_browser_test.js
@@ -12,26 +12,48 @@
'use strict';
-/**
- * @constructor
- * @extends {base.EventSourceImpl}
- */
-browserTest.FakeDesktopConnectedView = function() {
- this.pluginPosition = {
+/** @constructor */
+browserTest.FakeDesktopViewport = function() {
+ /** @private */
+ this.pluginPosition_ = {
top: 0,
left: 0
};
- this.defineEvents(Object.keys(remoting.DesktopConnectedView.Events));
+ /** @private */
+ this.bumpScroller_ = new base.EventSourceImpl();
+ this.bumpScroller_.defineEvents(Object.keys(remoting.BumpScroller.Events));
};
-base.extend(browserTest.FakeDesktopConnectedView, base.EventSourceImpl);
+/**
+ * @param {number} top
+ * @param {number} left
+ * @return {void} nothing.
+ */
+browserTest.FakeDesktopViewport.prototype.setPluginPositionForTesting =
+ function(top, left) {
+ this.pluginPosition_ = {
+ top: top,
+ left: left
+ };
+};
/**
* @return {{top: number, left:number}} The top-left corner of the plugin.
*/
-browserTest.FakeDesktopConnectedView.prototype.getPluginPositionForTesting =
+browserTest.FakeDesktopViewport.prototype.getPluginPositionForTesting =
function() {
- return this.pluginPosition;
+ return this.pluginPosition_;
+};
+
+/** @return {base.EventSource} */
+browserTest.FakeDesktopViewport.prototype.getBumpScrollerForTesting =
+ function() {
+ return this.bumpScroller_;
+};
+
+browserTest.FakeDesktopViewport.prototype.raiseEvent =
+ function() {
+ return this.bumpScroller_.raiseEvent.apply(this.bumpScroller_, arguments);
};
@@ -92,7 +114,8 @@ browserTest.Bump_Scroll.prototype.run = function(data) {
* @return {Promise}
*/
browserTest.Bump_Scroll.prototype.noScrollWindowed = function() {
- remoting.desktopConnectedView.setPluginSizeForBumpScrollTesting(
+ var viewport = remoting.desktopConnectedView.getViewportForTesting();
+ viewport.setPluginSizeForBumpScrollTesting(
window.innerWidth + this.kHostDesktopSizeDelta,
window.innerHeight + this.kHostDesktopSizeDelta);
this.moveMouseTo(0, 0);
@@ -103,7 +126,8 @@ browserTest.Bump_Scroll.prototype.noScrollWindowed = function() {
* @return {Promise}
*/
browserTest.Bump_Scroll.prototype.noScrollSmaller = function() {
- remoting.desktopConnectedView.setPluginSizeForBumpScrollTesting(
+ var viewport = remoting.desktopConnectedView.getViewportForTesting();
+ viewport.setPluginSizeForBumpScrollTesting(
window.innerWidth - this.kHostDesktopSizeDelta,
window.innerHeight - this.kHostDesktopSizeDelta);
this.moveMouseTo(0, 0);
@@ -117,16 +141,17 @@ browserTest.Bump_Scroll.prototype.noScrollSmaller = function() {
*/
browserTest.Bump_Scroll.prototype.scrollDirection =
function(widthFraction, heightFraction) {
- remoting.desktopConnectedView.setPluginSizeForBumpScrollTesting(
+ var viewport = remoting.desktopConnectedView.getViewportForTesting();
+ viewport.setPluginSizeForBumpScrollTesting(
screen.width + this.kHostDesktopSizeDelta,
screen.height + this.kHostDesktopSizeDelta);
/** @type {number} */
- var expectedTop = heightFraction == 0.0 ? 0 :
+ var expectedTop = heightFraction === 0.0 ? 0 :
heightFraction == 1.0 ? -this.kHostDesktopSizeDelta :
undefined;
/** @type {number} */
- var expectedLeft = widthFraction == 0.0 ? 0 :
- widthFraction == 1.0 ? -this.kHostDesktopSizeDelta :
+ var expectedLeft = widthFraction === 0.0 ? 0 :
+ widthFraction === 1.0 ? -this.kHostDesktopSizeDelta :
undefined;
var result = this.verifyScroll(expectedTop, expectedLeft);
this.moveMouseTo(widthFraction * screen.width,
@@ -186,52 +211,49 @@ browserTest.Bump_Scroll.prototype.moveMouseTo = function(x, y) {
* @return {Promise}
*/
browserTest.Bump_Scroll.prototype.testVerifyScroll = function() {
- var STARTED = remoting.DesktopConnectedView.Events.bumpScrollStarted;
- var STOPPED = remoting.DesktopConnectedView.Events.bumpScrollStopped;
- var fakeSession = new browserTest.FakeDesktopConnectedView;
+ var STARTED = remoting.BumpScroller.Events.bumpScrollStarted;
+ var STOPPED = remoting.BumpScroller.Events.bumpScrollStopped;
+ var fakeViewport = new browserTest.FakeDesktopViewport;
var that = this;
// No events raised (e.g. windowed mode).
- var result = this.verifyScroll(undefined, undefined, fakeSession)
+ var result = this.verifyScroll(undefined, undefined, fakeViewport)
.then(function() {
// Start and end events raised, but no scrolling (e.g. full-screen mode
// with host desktop <= window size).
- fakeSession = new browserTest.FakeDesktopConnectedView;
- var result = that.verifyScroll(undefined, undefined, fakeSession);
- fakeSession.raiseEvent(STARTED, {});
- fakeSession.raiseEvent(STOPPED, {});
+ fakeViewport = new browserTest.FakeDesktopViewport;
+ var result = that.verifyScroll(undefined, undefined, fakeViewport);
+ fakeViewport.raiseEvent(STARTED, {});
+ fakeViewport.raiseEvent(STOPPED, {});
return result;
}).then(function() {
// Start and end events raised, with incorrect scrolling.
- fakeSession = new browserTest.FakeDesktopConnectedView;
+ fakeViewport = new browserTest.FakeDesktopViewport;
var result = base.Promise.negate(
- that.verifyScroll(2, 2, fakeSession));
- fakeSession.raiseEvent(STARTED, {});
- fakeSession.pluginPosition.top = 1;
- fakeSession.pluginPosition.left = 1;
- fakeSession.raiseEvent(STOPPED, {});
+ that.verifyScroll(2, 2, fakeViewport));
+ fakeViewport.raiseEvent(STARTED, {});
+ fakeViewport.setPluginPositionForTesting(1, 1);
+ fakeViewport.raiseEvent(STOPPED, {});
return result;
}).then(function() {
// Start event raised, but not end event.
- fakeSession = new browserTest.FakeDesktopConnectedView;
+ fakeViewport = new browserTest.FakeDesktopViewport;
var result = base.Promise.negate(
- that.verifyScroll(2, 2, fakeSession));
- fakeSession.raiseEvent(STARTED, {});
- fakeSession.pluginPosition.top = 2;
- fakeSession.pluginPosition.left = 2;
+ that.verifyScroll(2, 2, fakeViewport));
+ fakeViewport.raiseEvent(STARTED, {});
+ fakeViewport.setPluginPositionForTesting(2, 2);
return result;
}).then(function() {
// Start and end events raised, with correct scrolling.
- fakeSession = new browserTest.FakeDesktopConnectedView;
- var result = that.verifyScroll(2, 2, fakeSession);
- fakeSession.raiseEvent(STARTED, {});
- fakeSession.pluginPosition.top = 2;
- fakeSession.pluginPosition.left = 2;
- fakeSession.raiseEvent(STOPPED, {});
+ fakeViewport = new browserTest.FakeDesktopViewport;
+ var result = that.verifyScroll(2, 2, fakeViewport);
+ fakeViewport.raiseEvent(STARTED, {});
+ fakeViewport.setPluginPositionForTesting(2, 2);
+ fakeViewport.raiseEvent(STOPPED, {});
return result;
});
@@ -245,26 +267,25 @@ browserTest.Bump_Scroll.prototype.testVerifyScroll = function() {
* plugin, or undefined if it is not expected to change.
* @param {number|undefined} expectedLeft The expected horizontal position of
* the plugin, or undefined if it is not expected to change.
- * @param {browserTest.FakeDesktopConnectedView=} opt_desktopConnectedView
- * DesktopConnectedView fake, for testing.
+ * @param {browserTest.FakeDesktopViewport=} opt_desktopViewport
+ * DesktopViewport fake, for testing.
* @return {Promise}
*/
browserTest.Bump_Scroll.prototype.verifyScroll =
- function (expectedTop, expectedLeft, opt_desktopConnectedView) {
- /** @type {browserTest.FakeDesktopConnectedView} */
- var desktopConnectedView = opt_desktopConnectedView ||
- remoting.desktopConnectedView;
- base.debug.assert(desktopConnectedView != null);
- var STARTED = remoting.DesktopConnectedView.Events.bumpScrollStarted;
- var STOPPED = remoting.DesktopConnectedView.Events.bumpScrollStopped;
+ function (expectedTop, expectedLeft, opt_desktopViewport) {
+ var desktopViewport = opt_desktopViewport ||
+ remoting.desktopConnectedView.getViewportForTesting();
+ base.debug.assert(desktopViewport != null);
+ var STARTED = remoting.BumpScroller.Events.bumpScrollStarted;
+ var STOPPED = remoting.BumpScroller.Events.bumpScrollStopped;
- var initialPosition = desktopConnectedView.getPluginPositionForTesting();
+ var initialPosition = desktopViewport.getPluginPositionForTesting();
var initialTop = initialPosition.top;
var initialLeft = initialPosition.left;
/** @return {Promise} */
var verifyPluginPosition = function() {
- var position = desktopConnectedView.getPluginPositionForTesting();
+ var position = desktopViewport.getPluginPositionForTesting();
if (expectedLeft === undefined) {
expectedLeft = initialLeft;
}
@@ -281,20 +302,21 @@ browserTest.Bump_Scroll.prototype.verifyScroll =
}
};
- var started = browserTest.expectEvent(desktopConnectedView, STARTED, 1000);
- var stopped = browserTest.expectEvent(desktopConnectedView, STOPPED, 5000);
+ var bumpScroller = desktopViewport.getBumpScrollerForTesting();
+ var started = browserTest.expectEvent(bumpScroller, STARTED, 1000);
+ var stopped = browserTest.expectEvent(bumpScroller, STOPPED, 5000);
return started.then(function() {
- return stopped.then(function() {
- return verifyPluginPosition();
- });
+ return stopped;
}, function() {
// If no started event is raised, the test might still pass if it asserted
// no scrolling.
- if (expectedTop == undefined && expectedLeft == undefined) {
+ if (expectedTop === undefined && expectedLeft === undefined) {
return Promise.resolve();
} else {
return Promise.reject(
new Error('Scroll expected but no start event fired.'));
}
+ }).then(function() {
+ return verifyPluginPosition();
});
};
« no previous file with comments | « remoting/webapp/base/js/base.js ('k') | remoting/webapp/crd/js/bump_scroller.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698