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

Unified Diff: cc/trees/layer_tree_host_impl_unittest.cc

Issue 12582009: Implement windows mousewheel scroll by page functionality (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: fix scroll distance calculation to more closely match windows behavior Created 7 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 side-by-side diff with in-line comments
Download patch
Index: cc/trees/layer_tree_host_impl_unittest.cc
diff --git a/cc/trees/layer_tree_host_impl_unittest.cc b/cc/trees/layer_tree_host_impl_unittest.cc
index 994de54524c2b588e41fcacd58268efb6a2ae424..cbb451c524754784147eaf4c058a005f2e7f3275 100644
--- a/cc/trees/layer_tree_host_impl_unittest.cc
+++ b/cc/trees/layer_tree_host_impl_unittest.cc
@@ -542,6 +542,39 @@ TEST_F(LayerTreeHostImplTest, scrollByReturnsCorrectValue)
EXPECT_TRUE(m_hostImpl->ScrollBy(gfx::Point(), gfx::Vector2d(5000, 5000)));
}
+TEST_F(LayerTreeHostImplTest, scrollVerticallyByPageReturnsCorrectValue)
+{
+ setupScrollAndContentsLayers(gfx::Size(200, 2000));
+ m_hostImpl->SetViewportSize(gfx::Size(100, 1000), gfx::Size(100, 1000));
+
+ initializeRendererAndDrawFrame();
+
+ EXPECT_EQ(InputHandlerClient::ScrollStarted,
+ m_hostImpl->ScrollBegin(gfx::Point(0, 0), InputHandlerClient::Wheel));
+
+ // Trying to scroll without a vertical scrollbar will fail.
+ EXPECT_FALSE(m_hostImpl->ScrollVerticallyByPage(
+ gfx::Point(), WebKit::WebScrollbar::ScrollForward));
+ EXPECT_FALSE(m_hostImpl->ScrollVerticallyByPage(
+ gfx::Point(), WebKit::WebScrollbar::ScrollBackward));
+
+ scoped_ptr<cc::ScrollbarLayerImpl> vertical_scrollbar(
+ cc::ScrollbarLayerImpl::Create(
+ m_hostImpl->active_tree(),
+ 20,
+ scoped_ptr<ScrollbarGeometryFixedThumb>()));
+ vertical_scrollbar->SetBounds(gfx::Size(15, 1000));
+ m_hostImpl->RootScrollLayer()->SetVerticalScrollbarLayer(
+ vertical_scrollbar.get());
+
+ // Trying to scroll with a vertical scrollbar will succeed.
+ EXPECT_TRUE(m_hostImpl->ScrollVerticallyByPage(
+ gfx::Point(), WebKit::WebScrollbar::ScrollForward));
+ EXPECT_FLOAT_EQ(875.f, m_hostImpl->RootScrollLayer()->scroll_delta().y());
+ EXPECT_TRUE(m_hostImpl->ScrollVerticallyByPage(
+ gfx::Point(), WebKit::WebScrollbar::ScrollBackward));
+}
+
TEST_F(LayerTreeHostImplTest, clearRootRenderSurfaceAndHitTestTouchHandlerRegion)
{
setupScrollAndContentsLayers(gfx::Size(100, 100));

Powered by Google App Engine
This is Rietveld 408576698