Chromium Code Reviews| Index: cc/layers/layer.cc |
| diff --git a/cc/layers/layer.cc b/cc/layers/layer.cc |
| index feb23fa8d84f4e800c135e606335a47d103d03ff..f94d23393c93b5624b7776a4d2b216feba605849 100644 |
| --- a/cc/layers/layer.cc |
| +++ b/cc/layers/layer.cc |
| @@ -672,6 +672,24 @@ void Layer::SetScrollOffset(const gfx::ScrollOffset& scroll_offset) { |
| SetNeedsCommit(); |
| } |
| +void Layer::SetScrollOffsetFractionalPart( |
|
aelias_OOO_until_Jul13
2015/01/28 22:34:16
Let's not mutate scroll_offset_ in this method. W
Yufeng Shen (Slow to review)
2015/01/28 22:49:27
Done.
|
| + const gfx::Vector2dF& scroll_offset_fractional_part) { |
| + gfx::ScrollOffset floored_scroll_offset( |
| + gfx::ScrollOffsetToFlooredVector2d(scroll_offset_)); |
| + gfx::ScrollOffset new_scroll_offset = |
| + ScrollOffsetWithDelta(floored_scroll_offset, |
| + scroll_offset_fractional_part); |
| + if (new_scroll_offset == scroll_offset_) |
| + return; |
| + scroll_offset_ = new_scroll_offset; |
| + SetNeedsCommit(); |
| +} |
| + |
| +gfx::Vector2dF Layer::MainScrollOffsetFractionalPart() const { |
| + return scroll_offset_.DeltaFrom(gfx::ScrollOffset( |
| + gfx::ScrollOffsetToFlooredVector2d(scroll_offset_))); |
| +} |
| + |
| void Layer::SetScrollOffsetFromImplSide( |
| const gfx::ScrollOffset& scroll_offset) { |
| DCHECK(IsPropertyChangeAllowed()); |
| @@ -981,6 +999,7 @@ void Layer::PushPropertiesTo(LayerImpl* layer) { |
| } |
| layer->SetSentScrollDelta(gfx::Vector2dF()); |
| } |
| + layer->SetMainScrollOffsetFractionalPart(MainScrollOffsetFractionalPart()); |
| // Wrap the copy_requests_ in a PostTask to the main thread. |
| ScopedPtrVector<CopyOutputRequest> main_thread_copy_requests; |