Index: third_party/WebKit/Source/web/tests/WebFrameTest.cpp |
diff --git a/third_party/WebKit/Source/web/tests/WebFrameTest.cpp b/third_party/WebKit/Source/web/tests/WebFrameTest.cpp |
index d123a03ceffb17247de312433aaba890b5e7b4b9..2abd2a8c1af70d901d9ac20f07b6a769fa4dc000 100644 |
--- a/third_party/WebKit/Source/web/tests/WebFrameTest.cpp |
+++ b/third_party/WebKit/Source/web/tests/WebFrameTest.cpp |
@@ -6748,7 +6748,21 @@ class TestScrolledFrameClient : public FrameTestHelpers::TestWebFrameClient { |
bool m_didScrollFrame; |
}; |
-TEST_F(WebFrameTest, CompositorScrollIsUserScrollLongPage) { |
+// TODO(pdr): Merge WebFrameTestForSpv1AndSpv2 and ParameterizedWebFrameTest so |
+// more tests run with both (and neither) slimming paint v2 and root layer |
+// scrolling. |
+typedef bool TestParamSlimmingPaintV2; |
+class WebFrameTestForSpv1AndSpv2 |
+ : public ::testing::WithParamInterface<TestParamSlimmingPaintV2>, |
+ private ScopedSlimmingPaintV2ForTest, |
+ public WebFrameTest { |
+ public: |
+ WebFrameTestForSpv1AndSpv2() : ScopedSlimmingPaintV2ForTest(GetParam()) {} |
+}; |
+ |
+INSTANTIATE_TEST_CASE_P(All, WebFrameTestForSpv1AndSpv2, ::testing::Bool()); |
+ |
+TEST_P(WebFrameTestForSpv1AndSpv2, CompositorScrollIsUserScrollLongPage) { |
registerMockedHttpURLLoad("long_scroll.html"); |
TestScrolledFrameClient client; |
@@ -6770,7 +6784,8 @@ TEST_F(WebFrameTest, CompositorScrollIsUserScrollLongPage) { |
// Do a compositor scroll, verify that this is counted as a user scroll. |
frameViewLayer->platformLayer()->setScrollPositionDouble( |
WebDoublePoint(0, 1)); |
- frameViewLayer->didScroll(); |
+ auto* scrollableArea = frameImpl->frameView()->layoutViewportScrollableArea(); |
+ scrollableArea->didScroll(gfx::ScrollOffset(0, 1)); |
webViewHelper.webView()->applyViewportDeltas(WebFloatSize(), WebFloatSize(), |
WebFloatSize(), 1.7f, 0); |
EXPECT_TRUE(client.wasFrameScrolled()); |
@@ -6782,7 +6797,7 @@ TEST_F(WebFrameTest, CompositorScrollIsUserScrollLongPage) { |
// The page scale 1.0f and scroll. |
frameViewLayer->platformLayer()->setScrollPositionDouble( |
WebDoublePoint(0, 2)); |
- frameViewLayer->didScroll(); |
+ scrollableArea->didScroll(gfx::ScrollOffset(0, 2)); |
webViewHelper.webView()->applyViewportDeltas(WebFloatSize(), WebFloatSize(), |
WebFloatSize(), 1.0f, 0); |
EXPECT_TRUE(client.wasFrameScrolled()); |
@@ -6791,7 +6806,7 @@ TEST_F(WebFrameTest, CompositorScrollIsUserScrollLongPage) { |
initialScrollState.wasScrolledByUser = false; |
// No scroll event if there is no scroll delta. |
- frameViewLayer->didScroll(); |
+ scrollableArea->didScroll(gfx::ScrollOffset(0, 2)); |
webViewHelper.webView()->applyViewportDeltas(WebFloatSize(), WebFloatSize(), |
WebFloatSize(), 1.0f, 0); |
EXPECT_FALSE(client.wasFrameScrolled()); |
@@ -6801,7 +6816,7 @@ TEST_F(WebFrameTest, CompositorScrollIsUserScrollLongPage) { |
// Non zero page scale and scroll. |
frameViewLayer->platformLayer()->setScrollPositionDouble( |
WebDoublePoint(9, 15)); |
- frameViewLayer->didScroll(); |
+ scrollableArea->didScroll(gfx::ScrollOffset(9, 15)); |
webViewHelper.webView()->applyViewportDeltas(WebFloatSize(), WebFloatSize(), |
WebFloatSize(), 0.6f, 0); |
EXPECT_TRUE(client.wasFrameScrolled()); |