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

Unified Diff: cc/layers/layer_impl_unittest.cc

Issue 19106007: cc: Allow the main thread to cancel commits (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Remove DCHECKs, set vars directly Created 7 years, 5 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 | « cc/layers/layer_impl.cc ('k') | cc/layers/layer_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/layers/layer_impl_unittest.cc
diff --git a/cc/layers/layer_impl_unittest.cc b/cc/layers/layer_impl_unittest.cc
index 45ba6416adc4068cec31eea9c2475009ec9fce4e..a0235ae56e5aadc583e53cbf0b0e5efaacffa53f 100644
--- a/cc/layers/layer_impl_unittest.cc
+++ b/cc/layers/layer_impl_unittest.cc
@@ -482,5 +482,77 @@ TEST_F(LayerImplScrollTest, ScrollByWithAcceptingDelegate) {
EXPECT_VECTOR_EQ(scroll_offset, layer()->scroll_offset());
}
+TEST_F(LayerImplScrollTest, ApplySentScrollsNoDelegate) {
+ gfx::Vector2d max_scroll_offset(50, 80);
+ gfx::Vector2d scroll_offset(10, 5);
+ gfx::Vector2dF scroll_delta(20.5f, 8.5f);
+ gfx::Vector2d sent_scroll_delta(12, -3);
+
+ layer()->SetMaxScrollOffset(max_scroll_offset);
+ layer()->SetScrollOffset(scroll_offset);
+ layer()->ScrollBy(scroll_delta);
+ layer()->SetSentScrollDelta(sent_scroll_delta);
+
+ EXPECT_VECTOR_EQ(scroll_offset + scroll_delta, layer()->TotalScrollOffset());
+ EXPECT_VECTOR_EQ(scroll_delta, layer()->ScrollDelta());
+ EXPECT_VECTOR_EQ(scroll_offset, layer()->scroll_offset());
+ EXPECT_VECTOR_EQ(sent_scroll_delta, layer()->sent_scroll_delta());
+
+ layer()->ApplySentScrollDeltas();
+
+ EXPECT_VECTOR_EQ(scroll_offset + scroll_delta, layer()->TotalScrollOffset());
+ EXPECT_VECTOR_EQ(scroll_delta - sent_scroll_delta, layer()->ScrollDelta());
+ EXPECT_VECTOR_EQ(scroll_offset + sent_scroll_delta, layer()->scroll_offset());
+ EXPECT_VECTOR_EQ(gfx::Vector2d(), layer()->sent_scroll_delta());
+}
+
+TEST_F(LayerImplScrollTest, ApplySentScrollsWithIgnoringDelegate) {
+ gfx::Vector2d max_scroll_offset(50, 80);
+ gfx::Vector2d scroll_offset(10, 5);
+ gfx::Vector2d sent_scroll_delta(12, -3);
+ gfx::Vector2dF fixed_offset(32, 12);
+
+ layer()->SetMaxScrollOffset(max_scroll_offset);
+ layer()->SetScrollOffset(scroll_offset);
+ ScrollDelegateIgnore delegate;
+ delegate.set_fixed_offset(fixed_offset);
+ layer()->SetScrollOffsetDelegate(&delegate);
+ layer()->SetSentScrollDelta(sent_scroll_delta);
+
+ EXPECT_VECTOR_EQ(fixed_offset, layer()->TotalScrollOffset());
+ EXPECT_VECTOR_EQ(scroll_offset, layer()->scroll_offset());
+ EXPECT_VECTOR_EQ(sent_scroll_delta, layer()->sent_scroll_delta());
+
+ layer()->ApplySentScrollDeltas();
+
+ EXPECT_VECTOR_EQ(fixed_offset, layer()->TotalScrollOffset());
+ EXPECT_VECTOR_EQ(scroll_offset + sent_scroll_delta, layer()->scroll_offset());
+ EXPECT_VECTOR_EQ(gfx::Vector2d(), layer()->sent_scroll_delta());
+}
+
+TEST_F(LayerImplScrollTest, ApplySentScrollsWithAcceptingDelegate) {
+ gfx::Vector2d max_scroll_offset(50, 80);
+ gfx::Vector2d scroll_offset(10, 5);
+ gfx::Vector2d sent_scroll_delta(12, -3);
+ gfx::Vector2dF scroll_delta(20.5f, 8.5f);
+
+ layer()->SetMaxScrollOffset(max_scroll_offset);
+ layer()->SetScrollOffset(scroll_offset);
+ ScrollDelegateAccept delegate;
+ layer()->SetScrollOffsetDelegate(&delegate);
+ layer()->ScrollBy(scroll_delta);
+ layer()->SetSentScrollDelta(sent_scroll_delta);
+
+ EXPECT_VECTOR_EQ(scroll_offset + scroll_delta, layer()->TotalScrollOffset());
+ EXPECT_VECTOR_EQ(scroll_offset, layer()->scroll_offset());
+ EXPECT_VECTOR_EQ(sent_scroll_delta, layer()->sent_scroll_delta());
+
+ layer()->ApplySentScrollDeltas();
+
+ EXPECT_VECTOR_EQ(scroll_offset + scroll_delta, layer()->TotalScrollOffset());
+ EXPECT_VECTOR_EQ(scroll_offset + sent_scroll_delta, layer()->scroll_offset());
+ EXPECT_VECTOR_EQ(gfx::Vector2d(), layer()->sent_scroll_delta());
+}
+
} // namespace
} // namespace cc
« no previous file with comments | « cc/layers/layer_impl.cc ('k') | cc/layers/layer_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698