Index: cc/layers/layer_impl_unittest.cc |
diff --git a/cc/layers/layer_impl_unittest.cc b/cc/layers/layer_impl_unittest.cc |
index 99673f6146b7495e83cbf4279c58cf2308d6698f..2f778e2a744c9833b26c6f9ec6e671888095155c 100644 |
--- a/cc/layers/layer_impl_unittest.cc |
+++ b/cc/layers/layer_impl_unittest.cc |
@@ -434,6 +434,8 @@ class LayerImplScrollTest : public testing::Test { |
return host_impl_.active_tree()->root_layer()->children()[0]; |
} |
+ LayerTreeHostImpl& host_impl() { return host_impl_; } |
+ |
LayerTreeImpl* tree() { return host_impl_.active_tree(); } |
LayerTreeSettings settings() { |
@@ -675,6 +677,31 @@ TEST_F(LayerImplScrollTest, ScrollUserUnscrollableLayer) { |
EXPECT_VECTOR_EQ(gfx::Vector2dF(30.5f, 5), layer()->TotalScrollOffset()); |
} |
+TEST_F(LayerImplScrollTest, PushPropertiesToMirrorsTotalScrollOffset) { |
+ gfx::ScrollOffset scroll_offset(10, 5); |
+ gfx::Vector2dF scroll_delta(12, 18); |
+ |
+ host_impl().CreatePendingTree(); |
+ |
+ layer()->SetScrollOffset(scroll_offset); |
+ gfx::Vector2dF unscrolled = layer()->ScrollBy(scroll_delta); |
+ |
+ EXPECT_VECTOR_EQ(gfx::Vector2dF(0, 0), unscrolled); |
+ EXPECT_VECTOR_EQ(gfx::Vector2dF(22, 23), layer()->TotalScrollOffset()); |
+ |
+ layer()->SetSentScrollDelta(scroll_delta); |
+ |
+ scoped_ptr<LayerImpl> pending_layer = |
+ LayerImpl::Create(host_impl().sync_tree(), layer()->id()); |
+ pending_layer->SetScrollOffset(layer()->TotalScrollOffset()); |
+ |
+ pending_layer->PushPropertiesTo(layer()); |
+ |
+ EXPECT_VECTOR_EQ(gfx::Vector2dF(22, 23), layer()->TotalScrollOffset()); |
+ EXPECT_VECTOR_EQ(layer()->TotalScrollOffset(), |
+ pending_layer->TotalScrollOffset()); |
+} |
+ |
TEST_F(LayerImplScrollTest, SetNewScrollbarParameters) { |
gfx::ScrollOffset scroll_offset(10, 5); |
layer()->SetScrollOffset(scroll_offset); |