Chromium Code Reviews| Index: cc/trees/layer_tree_host.cc |
| diff --git a/cc/trees/layer_tree_host.cc b/cc/trees/layer_tree_host.cc |
| index eed1e5a7e151e74942e0b78d54b96f38a2f2874d..6a7f8a26b1c3c2d7c4879edee6d0b465c57111f2 100644 |
| --- a/cc/trees/layer_tree_host.cc |
| +++ b/cc/trees/layer_tree_host.cc |
| @@ -40,6 +40,7 @@ |
| #include "cc/trees/single_thread_proxy.h" |
| #include "cc/trees/thread_proxy.h" |
| #include "cc/trees/tree_synchronizer.h" |
| +#include "ui/gfx/geometry/vector2d_conversions.h" |
| #include "ui/gfx/size_conversions.h" |
| namespace { |
| @@ -1066,8 +1067,8 @@ void LayerTreeHost::ApplyScrollAndScale(ScrollAndScaleSet* info) { |
| QueueSwapPromise(swap_promise.Pass()); |
| } |
| - gfx::Vector2d inner_viewport_scroll_delta; |
| - gfx::Vector2d outer_viewport_scroll_delta; |
| + gfx::Vector2dF inner_viewport_scroll_delta; |
| + gfx::Vector2dF outer_viewport_scroll_delta; |
| for (size_t i = 0; i < info->scrolls.size(); ++i) { |
| Layer* layer = LayerTreeHostCommon::FindLayerInSubtree( |
| @@ -1079,8 +1080,9 @@ void LayerTreeHost::ApplyScrollAndScale(ScrollAndScaleSet* info) { |
| } else if (layer == inner_viewport_scroll_layer_.get()) { |
| inner_viewport_scroll_delta += info->scrolls[i].scroll_delta; |
| } else { |
| - layer->SetScrollOffsetFromImplSide(layer->scroll_offset() + |
| - info->scrolls[i].scroll_delta); |
| + layer->SetScrollOffsetFromImplSide( |
| + layer->scroll_offset() + |
| + gfx::ScrollOffset(info->scrolls[i].scroll_delta)); |
| } |
| } |
| @@ -1098,18 +1100,20 @@ void LayerTreeHost::ApplyScrollAndScale(ScrollAndScaleSet* info) { |
| inner_viewport_scroll_layer_->SetScrollOffsetFromImplSide( |
| inner_viewport_scroll_layer_->scroll_offset() + |
| - inner_viewport_scroll_delta); |
| + gfx::ScrollOffset(inner_viewport_scroll_delta));; |
|
danakj
2014/09/25 22:01:26
double;;
Yufeng Shen (Slow to review)
2014/09/26 20:19:07
Done.
|
| if (outer_viewport_scroll_layer_.get()) { |
| outer_viewport_scroll_layer_->SetScrollOffsetFromImplSide( |
| outer_viewport_scroll_layer_->scroll_offset() + |
| - outer_viewport_scroll_delta); |
| + gfx::ScrollOffset(outer_viewport_scroll_delta)); |
|
danakj
2014/09/25 22:01:26
Throwing this out as an idea, idk if it's a good o
Yufeng Shen (Slow to review)
2014/09/25 22:15:01
what do you think if I have an overload
ScrollOff
|
| } |
| ApplyPageScaleDeltaFromImplSide(info->page_scale_delta); |
| - client_->ApplyViewportDeltas( |
| - inner_viewport_scroll_delta + outer_viewport_scroll_delta, |
| - info->page_scale_delta, |
| - info->top_controls_delta); |
| + gfx::Vector2dF viewport_scroll_delta = |
| + inner_viewport_scroll_delta + outer_viewport_scroll_delta; |
| + |
| + client_->ApplyViewportDeltas(gfx::ToFlooredVector2d(viewport_scroll_delta), |
|
danakj
2014/09/25 22:01:26
why flooring here? not sure why you changed anythi
Yufeng Shen (Slow to review)
2014/09/26 20:19:07
Done.
|
| + info->page_scale_delta, |
| + info->top_controls_delta); |
| } |
| } |