Index: cc/trees/layer_tree_host_unittest_scroll.cc |
diff --git a/cc/trees/layer_tree_host_unittest_scroll.cc b/cc/trees/layer_tree_host_unittest_scroll.cc |
index 9f2786c667fbd3c3634cf46a4b720fbea4cf06d0..4f18d00eaf182d0ff5a3eee962769cecaf3d2fef 100644 |
--- a/cc/trees/layer_tree_host_unittest_scroll.cc |
+++ b/cc/trees/layer_tree_host_unittest_scroll.cc |
@@ -54,7 +54,8 @@ class LayerTreeHostScrollTestScrollSimple : public LayerTreeHostScrollTest { |
if (!layer_tree_host()->source_frame_number()) { |
EXPECT_VECTOR_EQ(initial_scroll_, scroll_layer->scroll_offset()); |
} else { |
- EXPECT_VECTOR_EQ(initial_scroll_ + scroll_amount_, |
+ EXPECT_VECTOR_EQ(gfx::ScrollOffsetWithDelta(initial_scroll_, |
+ scroll_amount_), |
scroll_layer->scroll_offset()); |
// Pretend like Javascript updated the scroll position itself. |
@@ -95,9 +96,9 @@ class LayerTreeHostScrollTestScrollSimple : public LayerTreeHostScrollTest { |
virtual void AfterTest() OVERRIDE { EXPECT_EQ(1, num_scrolls_); } |
private: |
- gfx::Vector2d initial_scroll_; |
- gfx::Vector2d second_scroll_; |
- gfx::Vector2d scroll_amount_; |
+ gfx::ScrollOffset initial_scroll_; |
+ gfx::ScrollOffset second_scroll_; |
+ gfx::Vector2dF scroll_amount_; |
int num_scrolls_; |
}; |
@@ -130,11 +131,15 @@ class LayerTreeHostScrollTestScrollMultipleRedraw |
EXPECT_VECTOR_EQ(scroll_layer_->scroll_offset(), initial_scroll_); |
break; |
case 1: |
- EXPECT_VECTOR_EQ(scroll_layer_->scroll_offset(), |
- initial_scroll_ + scroll_amount_ + scroll_amount_); |
+ EXPECT_VECTOR_EQ( |
+ scroll_layer_->scroll_offset(), |
+ gfx::ScrollOffsetWithDelta(initial_scroll_, |
+ scroll_amount_ + scroll_amount_)); |
case 2: |
- EXPECT_VECTOR_EQ(scroll_layer_->scroll_offset(), |
- initial_scroll_ + scroll_amount_ + scroll_amount_); |
+ EXPECT_VECTOR_EQ( |
+ scroll_layer_->scroll_offset(), |
+ gfx::ScrollOffsetWithDelta(initial_scroll_, |
+ scroll_amount_ + scroll_amount_)); |
break; |
} |
} |
@@ -165,8 +170,10 @@ class LayerTreeHostScrollTestScrollMultipleRedraw |
// Third or later draw after second commit. |
EXPECT_GE(impl->SourceAnimationFrameNumber(), 3); |
EXPECT_VECTOR_EQ(scroll_layer_->ScrollDelta(), gfx::Vector2d()); |
- EXPECT_VECTOR_EQ(scroll_layer_->scroll_offset(), |
- initial_scroll_ + scroll_amount_ + scroll_amount_); |
+ EXPECT_VECTOR_EQ( |
+ scroll_layer_->scroll_offset(), |
+ gfx::ScrollOffsetWithDelta(initial_scroll_, |
+ scroll_amount_ + scroll_amount_)); |
EndTest(); |
} |
} |
@@ -180,8 +187,8 @@ class LayerTreeHostScrollTestScrollMultipleRedraw |
virtual void AfterTest() OVERRIDE { EXPECT_EQ(1, num_scrolls_); } |
private: |
- gfx::Vector2d initial_scroll_; |
- gfx::Vector2d scroll_amount_; |
+ gfx::ScrollOffset initial_scroll_; |
+ gfx::Vector2dF scroll_amount_; |
int num_scrolls_; |
scoped_refptr<Layer> scroll_layer_; |
}; |
@@ -238,8 +245,9 @@ class LayerTreeHostScrollTestScrollAbortedCommit |
// initiated from the redraw. |
EXPECT_EQ(1, num_impl_scrolls_); |
EXPECT_EQ(1, layer_tree_host()->source_frame_number()); |
- EXPECT_VECTOR_EQ(root_scroll_layer->scroll_offset(), |
- initial_scroll_ + impl_scroll_); |
+ EXPECT_VECTOR_EQ( |
+ root_scroll_layer->scroll_offset(), |
+ gfx::ScrollOffsetWithDelta(initial_scroll_, impl_scroll_)); |
EXPECT_EQ(impl_scale_, layer_tree_host()->page_scale_factor()); |
PostSetNeedsRedrawToMainThread(); |
break; |
@@ -248,20 +256,24 @@ class LayerTreeHostScrollTestScrollAbortedCommit |
EXPECT_EQ(2, num_impl_scrolls_); |
// The source frame number still increases even with the abort. |
EXPECT_EQ(2, layer_tree_host()->source_frame_number()); |
- EXPECT_VECTOR_EQ(root_scroll_layer->scroll_offset(), |
- initial_scroll_ + impl_scroll_ + impl_scroll_); |
+ EXPECT_VECTOR_EQ( |
+ root_scroll_layer->scroll_offset(), |
+ gfx::ScrollOffsetWithDelta(initial_scroll_, |
+ impl_scroll_ + impl_scroll_)); |
EXPECT_EQ(impl_scale_ * impl_scale_, |
layer_tree_host()->page_scale_factor()); |
- root_scroll_layer->SetScrollOffset(root_scroll_layer->scroll_offset() + |
- second_main_scroll_); |
+ root_scroll_layer->SetScrollOffset(gfx::ScrollOffsetWithDelta( |
+ root_scroll_layer->scroll_offset(), second_main_scroll_)); |
break; |
case 4: |
// This commit will also be aborted. |
EXPECT_EQ(3, num_impl_scrolls_); |
EXPECT_EQ(3, layer_tree_host()->source_frame_number()); |
+ gfx::Vector2dF delta = |
+ impl_scroll_ + impl_scroll_ + impl_scroll_ + second_main_scroll_; |
EXPECT_VECTOR_EQ(root_scroll_layer->scroll_offset(), |
- initial_scroll_ + impl_scroll_ + impl_scroll_ + |
- impl_scroll_ + second_main_scroll_); |
+ gfx::ScrollOffsetWithDelta(initial_scroll_, delta)); |
+ |
// End the test by drawing to verify this commit is also aborted. |
PostSetNeedsRedrawToMainThread(); |
break; |
@@ -306,8 +318,9 @@ class LayerTreeHostScrollTestScrollAbortedCommit |
EXPECT_VECTOR_EQ(root_scroll_layer->ScrollDelta(), gfx::Vector2d()); |
root_scroll_layer->ScrollBy(impl_scroll_); |
EXPECT_VECTOR_EQ(root_scroll_layer->ScrollDelta(), impl_scroll_); |
- EXPECT_VECTOR_EQ(root_scroll_layer->scroll_offset(), |
- initial_scroll_ + impl_scroll_); |
+ EXPECT_VECTOR_EQ( |
+ root_scroll_layer->scroll_offset(), |
+ gfx::ScrollOffsetWithDelta(initial_scroll_, impl_scroll_)); |
EXPECT_EQ(1.f, impl->active_tree()->page_scale_delta()); |
EXPECT_EQ(impl_scale_, impl->active_tree()->total_page_scale_factor()); |
@@ -327,16 +340,17 @@ class LayerTreeHostScrollTestScrollAbortedCommit |
root_scroll_layer->ScrollBy(impl_scroll_); |
impl->SetNeedsCommit(); |
EXPECT_VECTOR_EQ(root_scroll_layer->ScrollDelta(), impl_scroll_); |
- EXPECT_VECTOR_EQ( |
- root_scroll_layer->scroll_offset(), |
- initial_scroll_ + impl_scroll_ + impl_scroll_ + second_main_scroll_); |
+ gfx::Vector2dF delta = impl_scroll_ + impl_scroll_ + second_main_scroll_; |
+ EXPECT_VECTOR_EQ(root_scroll_layer->scroll_offset(), |
+ gfx::ScrollOffsetWithDelta(initial_scroll_, delta)); |
} else if (impl->active_tree()->source_frame_number() == 2 && |
impl->SourceAnimationFrameNumber() == 4) { |
// Final draw after the second aborted commit. |
EXPECT_VECTOR_EQ(root_scroll_layer->ScrollDelta(), gfx::Vector2d()); |
+ gfx::Vector2dF delta = |
+ impl_scroll_ + impl_scroll_ + impl_scroll_ + second_main_scroll_; |
EXPECT_VECTOR_EQ(root_scroll_layer->scroll_offset(), |
- initial_scroll_ + impl_scroll_ + impl_scroll_ + |
- impl_scroll_ + second_main_scroll_); |
+ gfx::ScrollOffsetWithDelta(initial_scroll_, delta)); |
EndTest(); |
} else { |
// Commit for source frame 3 is aborted. |
@@ -362,9 +376,9 @@ class LayerTreeHostScrollTestScrollAbortedCommit |
} |
private: |
- gfx::Vector2d initial_scroll_; |
- gfx::Vector2d impl_scroll_; |
- gfx::Vector2d second_main_scroll_; |
+ gfx::ScrollOffset initial_scroll_; |
+ gfx::Vector2dF impl_scroll_; |
+ gfx::Vector2dF second_main_scroll_; |
float impl_scale_; |
int num_will_begin_main_frames_; |
int num_did_begin_main_frames_; |
@@ -532,14 +546,16 @@ class LayerTreeHostScrollTestCaseWithChild : public LayerTreeHostScrollTest { |
expected_scroll_layer_->scroll_offset()); |
break; |
case 1: |
- EXPECT_VECTOR_EQ(initial_offset_ + scroll_amount_, |
- expected_scroll_layer_->scroll_offset()); |
+ EXPECT_VECTOR_EQ( |
+ gfx::ScrollOffsetWithDelta(initial_offset_, scroll_amount_), |
+ expected_scroll_layer_->scroll_offset()); |
// Pretend like Javascript updated the scroll position itself. |
expected_scroll_layer_->SetScrollOffset(javascript_scroll_); |
break; |
case 2: |
- EXPECT_VECTOR_EQ(javascript_scroll_ + scroll_amount_, |
+ EXPECT_VECTOR_EQ(gfx::ScrollOffsetWithDelta(javascript_scroll_, |
+ scroll_amount_), |
expected_scroll_layer_->scroll_offset()); |
break; |
} |
@@ -605,7 +621,8 @@ class LayerTreeHostScrollTestCaseWithChild : public LayerTreeHostScrollTest { |
} |
case 2: |
- EXPECT_VECTOR_EQ(javascript_scroll_ + scroll_amount_, |
+ EXPECT_VECTOR_EQ(gfx::ScrollOffsetWithDelta(javascript_scroll_, |
+ scroll_amount_), |
expected_scroll_layer_impl->scroll_offset()); |
EXPECT_VECTOR_EQ(gfx::Vector2d(), |
expected_scroll_layer_impl->ScrollDelta()); |
@@ -618,11 +635,12 @@ class LayerTreeHostScrollTestCaseWithChild : public LayerTreeHostScrollTest { |
virtual void AfterTest() OVERRIDE { |
if (scroll_child_layer_) { |
EXPECT_EQ(0, num_scrolls_); |
- EXPECT_VECTOR_EQ(javascript_scroll_ + scroll_amount_, |
+ EXPECT_VECTOR_EQ(gfx::ScrollOffsetWithDelta(javascript_scroll_, |
+ scroll_amount_), |
final_scroll_offset_); |
} else { |
EXPECT_EQ(2, num_scrolls_); |
- EXPECT_VECTOR_EQ(gfx::Vector2d(), final_scroll_offset_); |
+ EXPECT_VECTOR_EQ(gfx::ScrollOffset(), final_scroll_offset_); |
} |
} |
@@ -630,11 +648,11 @@ class LayerTreeHostScrollTestCaseWithChild : public LayerTreeHostScrollTest { |
float device_scale_factor_; |
bool scroll_child_layer_; |
- gfx::Vector2d initial_offset_; |
- gfx::Vector2d javascript_scroll_; |
+ gfx::ScrollOffset initial_offset_; |
+ gfx::ScrollOffset javascript_scroll_; |
gfx::Vector2d scroll_amount_; |
int num_scrolls_; |
- gfx::Vector2d final_scroll_offset_; |
+ gfx::ScrollOffset final_scroll_offset_; |
FakeContentLayerClient fake_content_layer_client_; |
@@ -777,13 +795,15 @@ class ImplSidePaintingScrollTestSimple : public ImplSidePaintingScrollTest { |
if (!layer_tree_host()->source_frame_number()) { |
EXPECT_VECTOR_EQ(scroll_layer->scroll_offset(), initial_scroll_); |
} else { |
- EXPECT_VECTOR_EQ(scroll_layer->scroll_offset(), |
- initial_scroll_ + impl_thread_scroll1_); |
+ EXPECT_VECTOR_EQ( |
+ scroll_layer->scroll_offset(), |
+ gfx::ScrollOffsetWithDelta(initial_scroll_, impl_thread_scroll1_)); |
// Pretend like Javascript updated the scroll position itself with a |
// change of main_thread_scroll. |
- scroll_layer->SetScrollOffset(initial_scroll_ + main_thread_scroll_ + |
- impl_thread_scroll1_); |
+ scroll_layer->SetScrollOffset( |
+ gfx::ScrollOffsetWithDelta( |
+ initial_scroll_, main_thread_scroll_ + impl_thread_scroll1_)); |
} |
} |
@@ -831,7 +851,8 @@ class ImplSidePaintingScrollTestSimple : public ImplSidePaintingScrollTest { |
LayerImpl* pending_scroll_layer = pending_root->children()[0]; |
EXPECT_VECTOR_EQ( |
pending_scroll_layer->scroll_offset(), |
- initial_scroll_ + main_thread_scroll_ + impl_thread_scroll1_); |
+ gfx::ScrollOffsetWithDelta( |
+ initial_scroll_, main_thread_scroll_ + impl_thread_scroll1_)); |
EXPECT_VECTOR_EQ(pending_scroll_layer->ScrollDelta(), |
impl_thread_scroll2_); |
EXPECT_VECTOR_EQ(pending_scroll_layer->sent_scroll_delta(), |
@@ -842,7 +863,8 @@ class ImplSidePaintingScrollTestSimple : public ImplSidePaintingScrollTest { |
EXPECT_FALSE(impl->pending_tree()); |
EXPECT_VECTOR_EQ( |
scroll_layer->scroll_offset(), |
- initial_scroll_ + main_thread_scroll_ + impl_thread_scroll1_); |
+ gfx::ScrollOffsetWithDelta( |
+ initial_scroll_, main_thread_scroll_ + impl_thread_scroll1_)); |
EXPECT_VECTOR_EQ(scroll_layer->ScrollDelta(), impl_thread_scroll2_); |
EXPECT_VECTOR_EQ(scroll_layer->sent_scroll_delta(), gfx::Vector2d()); |
EndTest(); |
@@ -859,10 +881,10 @@ class ImplSidePaintingScrollTestSimple : public ImplSidePaintingScrollTest { |
virtual void AfterTest() OVERRIDE { EXPECT_EQ(1, num_scrolls_); } |
private: |
- gfx::Vector2d initial_scroll_; |
- gfx::Vector2d main_thread_scroll_; |
- gfx::Vector2d impl_thread_scroll1_; |
- gfx::Vector2d impl_thread_scroll2_; |
+ gfx::ScrollOffset initial_scroll_; |
+ gfx::Vector2dF main_thread_scroll_; |
+ gfx::Vector2dF impl_thread_scroll1_; |
+ gfx::Vector2dF impl_thread_scroll2_; |
int num_scrolls_; |
}; |
@@ -966,7 +988,8 @@ class ImplSidePaintingScrollTestImplOnlyScroll |
case 2: |
// On the next commit, this delta should have been sent and applied. |
EXPECT_VECTOR_EQ(pending_scroll_layer->scroll_offset(), |
- initial_scroll_ + impl_thread_scroll_); |
+ gfx::ScrollOffsetWithDelta(initial_scroll_, |
+ impl_thread_scroll_)); |
EXPECT_VECTOR_EQ(pending_scroll_layer->ScrollDelta(), gfx::Vector2d()); |
EXPECT_VECTOR_EQ(pending_scroll_layer->sent_scroll_delta(), |
gfx::Vector2d()); |
@@ -1000,8 +1023,8 @@ class ImplSidePaintingScrollTestImplOnlyScroll |
virtual void AfterTest() OVERRIDE {} |
private: |
- gfx::Vector2d initial_scroll_; |
- gfx::Vector2d impl_thread_scroll_; |
+ gfx::ScrollOffset initial_scroll_; |
+ gfx::Vector2dF impl_thread_scroll_; |
}; |
MULTI_THREAD_TEST_F(ImplSidePaintingScrollTestImplOnlyScroll); |