Chromium Code Reviews| Index: cc/layers/layer_impl.cc |
| diff --git a/cc/layers/layer_impl.cc b/cc/layers/layer_impl.cc |
| index 5c9eada05addd2181ad8ea1a5d9a46a83d15bff2..d50c64f0b15fde73d4d10e2365b1b886e046455a 100644 |
| --- a/cc/layers/layer_impl.cc |
| +++ b/cc/layers/layer_impl.cc |
| @@ -354,7 +354,7 @@ ResourceProvider::ResourceId LayerImpl::ContentsResourceId() const { |
| return 0; |
| } |
| -void LayerImpl::SetSentScrollDelta(const gfx::Vector2d& sent_scroll_delta) { |
| +void LayerImpl::SetSentScrollDelta(const gfx::ScrollOffset& sent_scroll_delta) { |
| // Pending tree never has sent scroll deltas |
| DCHECK(layer_tree_impl()->IsActiveTree()); |
| @@ -366,8 +366,8 @@ void LayerImpl::SetSentScrollDelta(const gfx::Vector2d& sent_scroll_delta) { |
| gfx::Vector2dF LayerImpl::ScrollBy(const gfx::Vector2dF& scroll) { |
| DCHECK(scrollable()); |
| - gfx::Vector2dF min_delta = -scroll_offset_; |
| - gfx::Vector2dF max_delta = MaxScrollOffset() - scroll_offset_; |
| + gfx::Vector2dF min_delta = -ToVector2dF(scroll_offset_); |
| + gfx::Vector2dF max_delta = MaxScrollOffset() - ToVector2dF(scroll_offset_); |
|
danakj
2014/09/25 15:13:30
to ToVector2dF after the subtraction - MaxScrollOf
Yufeng Shen (Slow to review)
2014/09/25 20:06:23
Done.
|
| // Clamp new_delta so that position + delta stays within scroll bounds. |
| gfx::Vector2dF new_delta = (ScrollDelta() + scroll); |
| new_delta.SetToMax(min_delta); |
| @@ -399,8 +399,8 @@ void LayerImpl::ApplySentScrollDeltasFromAbortedCommit() { |
| // leave the total scroll offset unchanged on this layer regardless of |
| // whether a delegate is being used. |
| scroll_offset_ += sent_scroll_delta_; |
| - scroll_delta_ -= sent_scroll_delta_; |
| - sent_scroll_delta_ = gfx::Vector2d(); |
| + scroll_delta_ -= ToVector2dF(sent_scroll_delta_); |
| + sent_scroll_delta_ = gfx::ScrollOffset(); |
| } |
| void LayerImpl::ApplyScrollDeltasSinceBeginMainFrame() { |
| @@ -418,7 +418,7 @@ void LayerImpl::ApplyScrollDeltasSinceBeginMainFrame() { |
| // comes from) and commit need to be applied to the pending tree |
| // so that it is up to date with the total scroll. |
| SetScrollDelta(active_twin->ScrollDelta() - |
| - active_twin->sent_scroll_delta()); |
| + ToVector2dF(active_twin->sent_scroll_delta())); |
| } |
| } |
| @@ -538,8 +538,9 @@ void LayerImpl::PushPropertiesTo(LayerImpl* layer) { |
| 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()); |
| - layer->SetSentScrollDelta(gfx::Vector2d()); |
| + scroll_offset_, |
| + layer->ScrollDelta() - ToVector2dF(layer->sent_scroll_delta())); |
| + layer->SetSentScrollDelta(gfx::ScrollOffset()); |
| layer->Set3dSortingContextId(sorting_context_id_); |
| layer->SetNumDescendantsThatDrawContent(num_descendants_that_draw_content_); |
| @@ -759,7 +760,7 @@ void LayerImpl::OnScrollOffsetAnimated(const gfx::Vector2dF& scroll_offset) { |
| if (!IsActive()) |
| return; |
| - SetScrollDelta(scroll_offset - scroll_offset_); |
| + SetScrollDelta(scroll_offset - ToVector2dF(scroll_offset_)); |
| layer_tree_impl_->DidAnimateScrollOffset(); |
| } |
| @@ -1064,8 +1065,8 @@ void LayerImpl::SetScrollOffsetDelegate( |
| // Having both a scroll parent and a scroll offset delegate is unsupported. |
| DCHECK(!scroll_parent_); |
| if (!scroll_offset_delegate && scroll_offset_delegate_) { |
| - scroll_delta_ = |
| - scroll_offset_delegate_->GetTotalScrollOffset() - scroll_offset_; |
| + scroll_delta_ = scroll_offset_delegate_->GetTotalScrollOffset() - |
| + ToVector2dF(scroll_offset_); |
| } |
| gfx::Vector2dF total_offset = TotalScrollOffset(); |
| scroll_offset_delegate_ = scroll_offset_delegate; |
| @@ -1078,15 +1079,15 @@ bool LayerImpl::IsExternalFlingActive() const { |
| scroll_offset_delegate_->IsExternalFlingActive(); |
| } |
| -void LayerImpl::SetScrollOffset(const gfx::Vector2d& scroll_offset) { |
| +void LayerImpl::SetScrollOffset(const gfx::ScrollOffset& scroll_offset) { |
| SetScrollOffsetAndDelta(scroll_offset, ScrollDelta()); |
| } |
| -void LayerImpl::SetScrollOffsetAndDelta(const gfx::Vector2d& scroll_offset, |
| +void LayerImpl::SetScrollOffsetAndDelta(const gfx::ScrollOffset& scroll_offset, |
| const gfx::Vector2dF& scroll_delta) { |
| bool changed = false; |
| - last_scroll_offset_ = scroll_offset; |
| + last_scroll_offset_ = ToVector2dF(scroll_offset); |
| if (scroll_offset_ != scroll_offset) { |
| changed = true; |
| @@ -1108,13 +1109,14 @@ void LayerImpl::SetScrollOffsetAndDelta(const gfx::Vector2d& scroll_offset, |
| // layer is zero, as anything that has been sent has been baked |
| // into the layer's position/scroll offset as a part of commit. |
| DCHECK(pending_twin->sent_scroll_delta().IsZero()); |
| - pending_twin->SetScrollDelta(scroll_delta - sent_scroll_delta()); |
| + pending_twin->SetScrollDelta(scroll_delta - |
| + ToVector2dF(sent_scroll_delta())); |
| } |
| } |
| if (scroll_offset_delegate_) { |
| - scroll_offset_delegate_->SetTotalScrollOffset(scroll_offset_ + |
| - scroll_delta); |
| + scroll_offset_delegate_->SetTotalScrollOffset( |
| + ToVector2dF(scroll_offset_) + scroll_delta); |
| } else { |
| scroll_delta_ = scroll_delta; |
| } |
| @@ -1127,8 +1129,10 @@ void LayerImpl::SetScrollOffsetAndDelta(const gfx::Vector2d& scroll_offset, |
| } |
| gfx::Vector2dF LayerImpl::ScrollDelta() const { |
| - if (scroll_offset_delegate_) |
| - return scroll_offset_delegate_->GetTotalScrollOffset() - scroll_offset_; |
| + if (scroll_offset_delegate_) { |
| + return scroll_offset_delegate_->GetTotalScrollOffset() - |
| + ToVector2dF(scroll_offset_); |
| + } |
| return scroll_delta_; |
| } |
| @@ -1137,7 +1141,7 @@ void LayerImpl::SetScrollDelta(const gfx::Vector2dF& scroll_delta) { |
| } |
| gfx::Vector2dF LayerImpl::TotalScrollOffset() const { |
| - return scroll_offset_ + ScrollDelta(); |
| + return ToVector2dF(scroll_offset_) + ScrollDelta(); |
| } |
| void LayerImpl::SetDoubleSided(bool double_sided) { |
| @@ -1260,8 +1264,8 @@ void LayerImpl::SetScrollbarPosition(ScrollbarLayerImplBase* scrollbar_layer, |
| DCHECK(layer_transform.IsScale2d()); |
| gfx::Vector2dF layer_scale = layer_transform.Scale2d(); |
| DCHECK(layer_scale.x() == layer_scale.y()); |
| - gfx::Vector2dF new_offset = |
| - current_layer->scroll_offset() + current_layer->ScrollDelta(); |
| + gfx::Vector2dF new_offset = ToVector2dF(current_layer->scroll_offset()) + |
| + current_layer->ScrollDelta(); |
| new_offset.Scale(layer_scale.x(), layer_scale.y()); |
| current_offset += new_offset; |
| } |