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

Unified Diff: third_party/WebKit/Source/web/tests/BrowserControlsTest.cpp

Issue 2571703002: RootLayerScrolling: Fix scroll-related tests in BrowserControlsTest (Closed)
Patch Set: Created 4 years 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 | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: third_party/WebKit/Source/web/tests/BrowserControlsTest.cpp
diff --git a/third_party/WebKit/Source/web/tests/BrowserControlsTest.cpp b/third_party/WebKit/Source/web/tests/BrowserControlsTest.cpp
index 330ab6e1f8a690ee9289f3a4ef262904ee28e927..d8099ba4cb9bb0046772912a21a8d6a4c27b6514 100644
--- a/third_party/WebKit/Source/web/tests/BrowserControlsTest.cpp
+++ b/third_party/WebKit/Source/web/tests/BrowserControlsTest.cpp
@@ -169,7 +169,9 @@ TEST_F(BrowserControlsTest, MAYBE(HideOnScrollDown)) {
webView->handleInputEvent(
generateEvent(WebInputEvent::GestureScrollUpdate, 0, -25.f));
EXPECT_FLOAT_EQ(25.f, webView->browserControls().contentOffset());
- EXPECT_SIZE_EQ(ScrollOffset(0, 0), frame()->view()->getScrollOffset());
+ EXPECT_SIZE_EQ(
+ ScrollOffset(0, 0),
+ frame()->view()->layoutViewportScrollableArea()->getScrollOffset());
// Browser controls should consume 25px and become hidden. Excess scroll
// should be
@@ -177,13 +179,17 @@ TEST_F(BrowserControlsTest, MAYBE(HideOnScrollDown)) {
webView->handleInputEvent(
generateEvent(WebInputEvent::GestureScrollUpdate, 0, -40.f));
EXPECT_FLOAT_EQ(0.f, webView->browserControls().contentOffset());
- EXPECT_SIZE_EQ(ScrollOffset(0, 15), frame()->view()->getScrollOffset());
+ EXPECT_SIZE_EQ(
+ ScrollOffset(0, 15),
+ frame()->view()->layoutViewportScrollableArea()->getScrollOffset());
// Only page should consume scroll
webView->handleInputEvent(
generateEvent(WebInputEvent::GestureScrollUpdate, 0, -20.f));
EXPECT_FLOAT_EQ(0.f, webView->browserControls().contentOffset());
- EXPECT_SIZE_EQ(ScrollOffset(0, 35), frame()->view()->getScrollOffset());
+ EXPECT_SIZE_EQ(
+ ScrollOffset(0, 35),
+ frame()->view()->layoutViewportScrollableArea()->getScrollOffset());
}
// Scrolling up should show browser controls.
@@ -199,12 +205,16 @@ TEST_F(BrowserControlsTest, MAYBE(ShowOnScrollUp)) {
webView->handleInputEvent(
generateEvent(WebInputEvent::GestureScrollUpdate, 0, 10.f));
EXPECT_FLOAT_EQ(10.f, webView->browserControls().contentOffset());
- EXPECT_SIZE_EQ(ScrollOffset(0, 0), frame()->view()->getScrollOffset());
+ EXPECT_SIZE_EQ(
+ ScrollOffset(0, 0),
+ frame()->view()->layoutViewportScrollableArea()->getScrollOffset());
webView->handleInputEvent(
generateEvent(WebInputEvent::GestureScrollUpdate, 0, 50.f));
EXPECT_FLOAT_EQ(50.f, webView->browserControls().contentOffset());
- EXPECT_SIZE_EQ(ScrollOffset(0, 0), frame()->view()->getScrollOffset());
+ EXPECT_SIZE_EQ(
+ ScrollOffset(0, 0),
+ frame()->view()->layoutViewportScrollableArea()->getScrollOffset());
}
// Scrolling up after previous scroll downs should cause browser controls to be
@@ -225,32 +235,42 @@ TEST_F(BrowserControlsTest, MAYBE(ScrollDownThenUp)) {
webView->handleInputEvent(
generateEvent(WebInputEvent::GestureScrollUpdate, 0, -150.f));
EXPECT_FLOAT_EQ(0.f, webView->browserControls().contentOffset());
- EXPECT_SIZE_EQ(ScrollOffset(0, 200), frame()->view()->getScrollOffset());
+ EXPECT_SIZE_EQ(
+ ScrollOffset(0, 200),
+ frame()->view()->layoutViewportScrollableArea()->getScrollOffset());
// Scroll up and ensure the browser controls does not move until we recover
// 100px previously scrolled.
webView->handleInputEvent(
generateEvent(WebInputEvent::GestureScrollUpdate, 0, 40.f));
EXPECT_FLOAT_EQ(0.f, webView->browserControls().contentOffset());
- EXPECT_SIZE_EQ(ScrollOffset(0, 160), frame()->view()->getScrollOffset());
+ EXPECT_SIZE_EQ(
+ ScrollOffset(0, 160),
+ frame()->view()->layoutViewportScrollableArea()->getScrollOffset());
webView->handleInputEvent(
generateEvent(WebInputEvent::GestureScrollUpdate, 0, 60.f));
EXPECT_FLOAT_EQ(0.f, webView->browserControls().contentOffset());
- EXPECT_SIZE_EQ(ScrollOffset(0, 100), frame()->view()->getScrollOffset());
+ EXPECT_SIZE_EQ(
+ ScrollOffset(0, 100),
+ frame()->view()->layoutViewportScrollableArea()->getScrollOffset());
// Now we have hit the threshold so further scroll up should be consumed by
// browser controls.
webView->handleInputEvent(
generateEvent(WebInputEvent::GestureScrollUpdate, 0, 30.f));
EXPECT_FLOAT_EQ(30.f, webView->browserControls().contentOffset());
- EXPECT_SIZE_EQ(ScrollOffset(0, 100), frame()->view()->getScrollOffset());
+ EXPECT_SIZE_EQ(
+ ScrollOffset(0, 100),
+ frame()->view()->layoutViewportScrollableArea()->getScrollOffset());
// Once top control is fully shown then page should consume any excess scroll.
webView->handleInputEvent(
generateEvent(WebInputEvent::GestureScrollUpdate, 0, 70.f));
EXPECT_FLOAT_EQ(50.f, webView->browserControls().contentOffset());
- EXPECT_SIZE_EQ(ScrollOffset(0, 50), frame()->view()->getScrollOffset());
+ EXPECT_SIZE_EQ(
+ ScrollOffset(0, 50),
+ frame()->view()->layoutViewportScrollableArea()->getScrollOffset());
}
// Scrolling down should always cause visible browser controls to start hiding
@@ -271,18 +291,24 @@ TEST_F(BrowserControlsTest, MAYBE(ScrollUpThenDown)) {
webView->handleInputEvent(
generateEvent(WebInputEvent::GestureScrollUpdate, 0, 100.f));
EXPECT_FLOAT_EQ(50.f, webView->browserControls().contentOffset());
- EXPECT_SIZE_EQ(ScrollOffset(0, 50), frame()->view()->getScrollOffset());
+ EXPECT_SIZE_EQ(
+ ScrollOffset(0, 50),
+ frame()->view()->layoutViewportScrollableArea()->getScrollOffset());
// Scroll down and ensure only browser controls is scrolled
webView->handleInputEvent(
generateEvent(WebInputEvent::GestureScrollUpdate, 0, -40.f));
EXPECT_FLOAT_EQ(10.f, webView->browserControls().contentOffset());
- EXPECT_SIZE_EQ(ScrollOffset(0, 50), frame()->view()->getScrollOffset());
+ EXPECT_SIZE_EQ(
+ ScrollOffset(0, 50),
+ frame()->view()->layoutViewportScrollableArea()->getScrollOffset());
webView->handleInputEvent(
generateEvent(WebInputEvent::GestureScrollUpdate, 0, -60.f));
EXPECT_FLOAT_EQ(0.f, webView->browserControls().contentOffset());
- EXPECT_SIZE_EQ(ScrollOffset(0, 100), frame()->view()->getScrollOffset());
+ EXPECT_SIZE_EQ(
+ ScrollOffset(0, 100),
+ frame()->view()->layoutViewportScrollableArea()->getScrollOffset());
}
// Browser controls should not consume horizontal scroll.
@@ -299,12 +325,16 @@ TEST_F(BrowserControlsTest, MAYBE(HorizontalScroll)) {
webView->handleInputEvent(
generateEvent(WebInputEvent::GestureScrollUpdate, -110.f, -100.f));
EXPECT_FLOAT_EQ(0.f, webView->browserControls().contentOffset());
- EXPECT_SIZE_EQ(ScrollOffset(110, 50), frame()->view()->getScrollOffset());
+ EXPECT_SIZE_EQ(
+ ScrollOffset(110, 50),
+ frame()->view()->layoutViewportScrollableArea()->getScrollOffset());
webView->handleInputEvent(
generateEvent(WebInputEvent::GestureScrollUpdate, -40.f, 0));
EXPECT_FLOAT_EQ(0.f, webView->browserControls().contentOffset());
- EXPECT_SIZE_EQ(ScrollOffset(150, 50), frame()->view()->getScrollOffset());
+ EXPECT_SIZE_EQ(
+ ScrollOffset(150, 50),
+ frame()->view()->layoutViewportScrollableArea()->getScrollOffset());
}
// Page scale should not impact browser controls scrolling
@@ -396,35 +426,47 @@ TEST_F(BrowserControlsTest, MAYBE(ScrollableSubregionScrollFirst)) {
// main frame should not scroll.
verticalScroll(-800.f);
EXPECT_FLOAT_EQ(50.f, webView->browserControls().contentOffset());
- EXPECT_SIZE_EQ(ScrollOffset(0, 50), frame()->view()->getScrollOffset());
+ EXPECT_SIZE_EQ(
+ ScrollOffset(0, 50),
+ frame()->view()->layoutViewportScrollableArea()->getScrollOffset());
// Continued scroll down should start hiding browser controls but main frame
// should not scroll.
verticalScroll(-40.f);
EXPECT_FLOAT_EQ(10.f, webView->browserControls().contentOffset());
- EXPECT_SIZE_EQ(ScrollOffset(0, 50), frame()->view()->getScrollOffset());
+ EXPECT_SIZE_EQ(
+ ScrollOffset(0, 50),
+ frame()->view()->layoutViewportScrollableArea()->getScrollOffset());
// Continued scroll down should scroll down the main frame
verticalScroll(-40.f);
EXPECT_FLOAT_EQ(0.f, webView->browserControls().contentOffset());
- EXPECT_SIZE_EQ(ScrollOffset(0, 80), frame()->view()->getScrollOffset());
+ EXPECT_SIZE_EQ(
+ ScrollOffset(0, 80),
+ frame()->view()->layoutViewportScrollableArea()->getScrollOffset());
// Test scroll up
// scroll up should scroll overflow div first
verticalScroll(800.f);
EXPECT_FLOAT_EQ(0.f, webView->browserControls().contentOffset());
- EXPECT_SIZE_EQ(ScrollOffset(0, 80), frame()->view()->getScrollOffset());
+ EXPECT_SIZE_EQ(
+ ScrollOffset(0, 80),
+ frame()->view()->layoutViewportScrollableArea()->getScrollOffset());
// Continued scroll up should start showing browser controls but main frame
// should not scroll.
verticalScroll(40.f);
EXPECT_FLOAT_EQ(40.f, webView->browserControls().contentOffset());
- EXPECT_SIZE_EQ(ScrollOffset(0, 80), frame()->view()->getScrollOffset());
+ EXPECT_SIZE_EQ(
+ ScrollOffset(0, 80),
+ frame()->view()->layoutViewportScrollableArea()->getScrollOffset());
// Continued scroll down up scroll up the main frame
verticalScroll(40.f);
EXPECT_FLOAT_EQ(50.f, webView->browserControls().contentOffset());
- EXPECT_SIZE_EQ(ScrollOffset(0, 50), frame()->view()->getScrollOffset());
+ EXPECT_SIZE_EQ(
+ ScrollOffset(0, 50),
+ frame()->view()->layoutViewportScrollableArea()->getScrollOffset());
}
// Scrollable iframes should scroll before browser controls
@@ -440,35 +482,47 @@ TEST_F(BrowserControlsTest, MAYBE(ScrollableIframeScrollFirst)) {
// frame should not scroll.
verticalScroll(-800.f);
EXPECT_FLOAT_EQ(50.f, webView->browserControls().contentOffset());
- EXPECT_SIZE_EQ(ScrollOffset(0, 50), frame()->view()->getScrollOffset());
+ EXPECT_SIZE_EQ(
+ ScrollOffset(0, 50),
+ frame()->view()->layoutViewportScrollableArea()->getScrollOffset());
// Continued scroll down should start hiding browser controls but main frame
// should not scroll.
verticalScroll(-40.f);
EXPECT_FLOAT_EQ(10.f, webView->browserControls().contentOffset());
- EXPECT_SIZE_EQ(ScrollOffset(0, 50), frame()->view()->getScrollOffset());
+ EXPECT_SIZE_EQ(
+ ScrollOffset(0, 50),
+ frame()->view()->layoutViewportScrollableArea()->getScrollOffset());
// Continued scroll down should scroll down the main frame
verticalScroll(-40.f);
EXPECT_FLOAT_EQ(0.f, webView->browserControls().contentOffset());
- EXPECT_SIZE_EQ(ScrollOffset(0, 80), frame()->view()->getScrollOffset());
+ EXPECT_SIZE_EQ(
+ ScrollOffset(0, 80),
+ frame()->view()->layoutViewportScrollableArea()->getScrollOffset());
// Test scroll up
// scroll up should scroll iframe first
verticalScroll(800.f);
EXPECT_FLOAT_EQ(0.f, webView->browserControls().contentOffset());
- EXPECT_SIZE_EQ(ScrollOffset(0, 80), frame()->view()->getScrollOffset());
+ EXPECT_SIZE_EQ(
+ ScrollOffset(0, 80),
+ frame()->view()->layoutViewportScrollableArea()->getScrollOffset());
// Continued scroll up should start showing browser controls but main frame
// should not scroll.
verticalScroll(40.f);
EXPECT_FLOAT_EQ(40.f, webView->browserControls().contentOffset());
- EXPECT_SIZE_EQ(ScrollOffset(0, 80), frame()->view()->getScrollOffset());
+ EXPECT_SIZE_EQ(
+ ScrollOffset(0, 80),
+ frame()->view()->layoutViewportScrollableArea()->getScrollOffset());
// Continued scroll down up scroll up the main frame
verticalScroll(40.f);
EXPECT_FLOAT_EQ(50.f, webView->browserControls().contentOffset());
- EXPECT_SIZE_EQ(ScrollOffset(0, 50), frame()->view()->getScrollOffset());
+ EXPECT_SIZE_EQ(
+ ScrollOffset(0, 50),
+ frame()->view()->layoutViewportScrollableArea()->getScrollOffset());
}
// Browser controls visibility should remain consistent when height is changed.
@@ -505,11 +559,15 @@ TEST_F(BrowserControlsTest, MAYBE(ZeroHeightMeansNoEffect)) {
verticalScroll(20.f);
EXPECT_FLOAT_EQ(0.f, webView->browserControls().contentOffset());
- EXPECT_SIZE_EQ(ScrollOffset(0, 80), frame()->view()->getScrollOffset());
+ EXPECT_SIZE_EQ(
+ ScrollOffset(0, 80),
+ frame()->view()->layoutViewportScrollableArea()->getScrollOffset());
verticalScroll(-30.f);
EXPECT_FLOAT_EQ(0.f, webView->browserControls().contentOffset());
- EXPECT_SIZE_EQ(ScrollOffset(0, 110), frame()->view()->getScrollOffset());
+ EXPECT_SIZE_EQ(
+ ScrollOffset(0, 110),
+ frame()->view()->layoutViewportScrollableArea()->getScrollOffset());
webView->browserControls().setShownRatio(1);
EXPECT_FLOAT_EQ(0.f, webView->browserControls().contentOffset());
@@ -564,7 +622,9 @@ TEST_F(BrowserControlsTest, MAYBE(StateConstraints)) {
// Only shown state is permitted so controls cannot hide
verticalScroll(-20.f);
EXPECT_FLOAT_EQ(50, webView->browserControls().contentOffset());
- EXPECT_SIZE_EQ(ScrollOffset(0, 120), frame()->view()->getScrollOffset());
+ EXPECT_SIZE_EQ(
+ ScrollOffset(0, 120),
+ frame()->view()->layoutViewportScrollableArea()->getScrollOffset());
// Setting permitted state should change content offset to match the
// constraint.
@@ -575,7 +635,9 @@ TEST_F(BrowserControlsTest, MAYBE(StateConstraints)) {
// Only hidden state is permitted so controls cannot show
verticalScroll(30.f);
EXPECT_FLOAT_EQ(0, webView->browserControls().contentOffset());
- EXPECT_SIZE_EQ(ScrollOffset(0, 90), frame()->view()->getScrollOffset());
+ EXPECT_SIZE_EQ(
+ ScrollOffset(0, 90),
+ frame()->view()->layoutViewportScrollableArea()->getScrollOffset());
// Setting permitted state to "both" should not change content offset.
webView->updateBrowserControlsState(WebBrowserControlsBoth,
@@ -585,11 +647,15 @@ TEST_F(BrowserControlsTest, MAYBE(StateConstraints)) {
// Both states are permitted so controls can either show or hide
verticalScroll(50.f);
EXPECT_FLOAT_EQ(50, webView->browserControls().contentOffset());
- EXPECT_SIZE_EQ(ScrollOffset(0, 90), frame()->view()->getScrollOffset());
+ EXPECT_SIZE_EQ(
+ ScrollOffset(0, 90),
+ frame()->view()->layoutViewportScrollableArea()->getScrollOffset());
verticalScroll(-50.f);
EXPECT_FLOAT_EQ(0, webView->browserControls().contentOffset());
- EXPECT_SIZE_EQ(ScrollOffset(0, 90), frame()->view()->getScrollOffset());
+ EXPECT_SIZE_EQ(
+ ScrollOffset(0, 90),
+ frame()->view()->layoutViewportScrollableArea()->getScrollOffset());
// Setting permitted state to "both" should not change an in-flight offset.
verticalScroll(20.f);
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698