Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(432)

Unified Diff: cc/layers/layer_impl.cc

Issue 584503005: Make scroll offset type of float in cc (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Use ScrollOffset instead of vector2dF for scroll offset Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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;
}

Powered by Google App Engine
This is Rietveld 408576698