Index: cc/layers/layer_impl.cc |
diff --git a/cc/layers/layer_impl.cc b/cc/layers/layer_impl.cc |
index 2b1193370eee237e307ce28f4074ce6a3134ce8c..db581d24ae717de58e906e82b4f5051f3eb9786d 100644 |
--- a/cc/layers/layer_impl.cc |
+++ b/cc/layers/layer_impl.cc |
@@ -550,10 +550,14 @@ void LayerImpl::PushPropertiesTo(LayerImpl* layer) { |
: Layer::INVALID_ID); |
layer->set_user_scrollable_horizontal(user_scrollable_horizontal_); |
layer->set_user_scrollable_vertical(user_scrollable_vertical_); |
- layer->SetScrollOffsetAndDelta( |
- scroll_offset_, |
- layer->ScrollDelta() - layer->sent_scroll_delta()); |
+ |
+ // Save the difference but clear the sent delta so that we don't subtract |
+ // it again in SetScrollOffsetAndDelta's pending twin mirroring logic. |
+ gfx::Vector2dF remaining_delta = |
+ layer->ScrollDelta() - layer->sent_scroll_delta(); |
layer->SetSentScrollDelta(gfx::Vector2dF()); |
+ layer->SetScrollOffsetAndDelta(scroll_offset_, remaining_delta); |
+ |
layer->Set3dSortingContextId(sorting_context_id_); |
layer->SetNumDescendantsThatDrawContent(num_descendants_that_draw_content_); |