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

Unified Diff: cc/layers/layer_impl_unittest.cc

Issue 1766053002: Clean LayerImpl's scroll offset callers in unit tests. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Remove transform tree update setting Created 4 years, 9 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
« no previous file with comments | « cc/layers/layer_impl.cc ('k') | cc/layers/layer_position_constraint_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/layers/layer_impl_unittest.cc
diff --git a/cc/layers/layer_impl_unittest.cc b/cc/layers/layer_impl_unittest.cc
index bd221ce50b460106a5b3fac7eafa770077b25fa8..11c37245209791b3625e4315394df2f8cd049dfa 100644
--- a/cc/layers/layer_impl_unittest.cc
+++ b/cc/layers/layer_impl_unittest.cc
@@ -100,6 +100,16 @@ namespace {
code_to_test; \
EXPECT_FALSE(host_impl.active_tree()->needs_update_draw_properties());
+static gfx::Vector2dF ScrollDelta(LayerImpl* layer_impl) {
+ if (layer_impl->IsActive())
+ return gfx::Vector2dF(layer_impl->synced_scroll_offset()->Delta().x(),
+ layer_impl->synced_scroll_offset()->Delta().y());
+ else
+ return gfx::Vector2dF(
+ layer_impl->synced_scroll_offset()->PendingDelta().get().x(),
+ layer_impl->synced_scroll_offset()->PendingDelta().get().y());
+}
+
TEST(LayerImplTest, VerifyLayerChangesAreTrackedProperly) {
//
// This test checks that layerPropertyChanged() has the correct behavior.
@@ -181,9 +191,6 @@ TEST(LayerImplTest, VerifyLayerChangesAreTrackedProperly) {
EXECUTE_AND_VERIFY_SUBTREE_CHANGED(
root->OnFilterAnimated(FilterOperations()));
EXECUTE_AND_VERIFY_SUBTREE_CHANGED(root->ScrollBy(arbitrary_vector2d));
- EXECUTE_AND_VERIFY_SUBTREE_CHANGED(root->SetScrollDelta(gfx::Vector2d()));
- EXECUTE_AND_VERIFY_SUBTREE_CHANGED(root->PushScrollOffsetFromMainThread(
- gfx::ScrollOffset(arbitrary_vector2d)));
EXECUTE_AND_VERIFY_SUBTREE_CHANGED(root->OnOpacityAnimated(arbitrary_number));
EXECUTE_AND_VERIFY_SUBTREE_CHANGED(
root->OnTransformAnimated(arbitrary_transform));
@@ -245,11 +252,6 @@ TEST(LayerImplTest, VerifyLayerChangesAreTrackedProperly) {
root->SetTransform(arbitrary_transform));
EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE(
root->SetDoubleSided(false)); // constructor initializes it to "true".
- EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE(
- root->SetScrollDelta(gfx::Vector2d()));
- EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE(
- root->PushScrollOffsetFromMainThread(
- gfx::ScrollOffset(arbitrary_vector2d)));
EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE(root->SetContentsOpaque(true));
EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE(root->SetOpacity(arbitrary_number));
EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE(
@@ -341,15 +343,13 @@ TEST(LayerImplTest, VerifyNeedsUpdateDrawProperties) {
VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(layer->SetBounds(large_size));
VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(layer->ScrollBy(arbitrary_vector2d));
VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(layer->ScrollBy(gfx::Vector2d()));
- layer->SetScrollDelta(gfx::Vector2d(0, 0));
- host_impl.ForcePrepareToDraw();
- VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(
- layer->SetScrollDelta(arbitrary_vector2d));
- VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(
- layer->SetScrollDelta(arbitrary_vector2d));
- VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(layer->PushScrollOffsetFromMainThread(
- gfx::ScrollOffset(arbitrary_vector2d)));
VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(layer->DidUpdateScrollOffset());
+ layer->SetCurrentScrollOffset(layer->synced_scroll_offset()->ActiveBase() +
+ gfx::ScrollOffset());
+ VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(layer->SetCurrentScrollOffset(
+ gfx::ScrollOffset(arbitrary_vector2d.x(), arbitrary_vector2d.y())));
+ VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(layer->SetCurrentScrollOffset(
+ gfx::ScrollOffset(arbitrary_vector2d.x(), arbitrary_vector2d.y())));
// Unrelated functions, always set to new values, always set needs update.
VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(
@@ -511,6 +511,10 @@ class LayerImplScrollTest : public testing::Test {
return host_impl_.active_tree()->root_layer()->children()[0].get();
}
+ ScrollTree* scroll_tree(LayerImpl* layer_impl) {
+ return &layer_impl->layer_tree_impl()->property_trees()->scroll_tree;
+ }
+
LayerTreeHostImpl& host_impl() { return host_impl_; }
LayerTreeImpl* tree() { return host_impl_.active_tree(); }
@@ -533,45 +537,58 @@ TEST_F(LayerImplScrollTest, ScrollByWithZeroOffset) {
// offset is bounded by the range [0, max scroll offset].
EXPECT_VECTOR_EQ(gfx::Vector2dF(), layer()->CurrentScrollOffset());
- EXPECT_VECTOR_EQ(gfx::Vector2dF(), layer()->BaseScrollOffset());
- EXPECT_VECTOR_EQ(gfx::Vector2dF(), layer()->ScrollDelta());
+ EXPECT_VECTOR_EQ(
+ gfx::Vector2dF(),
+ scroll_tree(layer())->GetScrollOffsetBaseForTesting(layer()->id()));
+ EXPECT_VECTOR_EQ(gfx::Vector2dF(), ScrollDelta(layer()));
layer()->ScrollBy(gfx::Vector2dF(-100, 100));
EXPECT_VECTOR_EQ(gfx::Vector2dF(0, 80), layer()->CurrentScrollOffset());
- EXPECT_VECTOR_EQ(layer()->ScrollDelta(), layer()->CurrentScrollOffset());
- EXPECT_VECTOR_EQ(gfx::Vector2dF(), layer()->BaseScrollOffset());
+ EXPECT_VECTOR_EQ(ScrollDelta(layer()), layer()->CurrentScrollOffset());
+ EXPECT_VECTOR_EQ(
+ gfx::Vector2dF(),
+ scroll_tree(layer())->GetScrollOffsetBaseForTesting(layer()->id()));
layer()->ScrollBy(gfx::Vector2dF(100, -100));
EXPECT_VECTOR_EQ(gfx::Vector2dF(50, 0), layer()->CurrentScrollOffset());
- EXPECT_VECTOR_EQ(layer()->ScrollDelta(), layer()->CurrentScrollOffset());
- EXPECT_VECTOR_EQ(gfx::Vector2dF(), layer()->BaseScrollOffset());
+ EXPECT_VECTOR_EQ(ScrollDelta(layer()), layer()->CurrentScrollOffset());
+ EXPECT_VECTOR_EQ(
+ gfx::Vector2dF(),
+ scroll_tree(layer())->GetScrollOffsetBaseForTesting(layer()->id()));
}
TEST_F(LayerImplScrollTest, ScrollByWithNonZeroOffset) {
gfx::ScrollOffset scroll_offset(10, 5);
- layer()->PushScrollOffsetFromMainThread(scroll_offset);
+ scroll_tree(layer())->UpdateScrollOffsetBaseForTesting(layer()->id(),
+ scroll_offset);
EXPECT_VECTOR_EQ(scroll_offset, layer()->CurrentScrollOffset());
- EXPECT_VECTOR_EQ(scroll_offset, layer()->BaseScrollOffset());
- EXPECT_VECTOR_EQ(gfx::Vector2dF(), layer()->ScrollDelta());
+ EXPECT_VECTOR_EQ(
+ scroll_offset,
+ scroll_tree(layer())->GetScrollOffsetBaseForTesting(layer()->id()));
+ EXPECT_VECTOR_EQ(gfx::Vector2dF(), ScrollDelta(layer()));
layer()->ScrollBy(gfx::Vector2dF(-100, 100));
EXPECT_VECTOR_EQ(gfx::Vector2dF(0, 80), layer()->CurrentScrollOffset());
EXPECT_VECTOR_EQ(
- gfx::ScrollOffsetWithDelta(scroll_offset, layer()->ScrollDelta()),
+ gfx::ScrollOffsetWithDelta(scroll_offset, ScrollDelta(layer())),
layer()->CurrentScrollOffset());
- EXPECT_VECTOR_EQ(scroll_offset, layer()->BaseScrollOffset());
+ EXPECT_VECTOR_EQ(
+ scroll_offset,
+ scroll_tree(layer())->GetScrollOffsetBaseForTesting(layer()->id()));
layer()->ScrollBy(gfx::Vector2dF(100, -100));
EXPECT_VECTOR_EQ(gfx::Vector2dF(50, 0), layer()->CurrentScrollOffset());
EXPECT_VECTOR_EQ(
- gfx::ScrollOffsetWithDelta(scroll_offset, layer()->ScrollDelta()),
+ gfx::ScrollOffsetWithDelta(scroll_offset, ScrollDelta(layer())),
layer()->CurrentScrollOffset());
- EXPECT_VECTOR_EQ(scroll_offset, layer()->BaseScrollOffset());
+ EXPECT_VECTOR_EQ(
+ scroll_offset,
+ scroll_tree(layer())->GetScrollOffsetBaseForTesting(layer()->id()));
}
TEST_F(LayerImplScrollTest, ApplySentScrollsNoListener) {
@@ -579,7 +596,8 @@ TEST_F(LayerImplScrollTest, ApplySentScrollsNoListener) {
gfx::Vector2dF scroll_delta(20.5f, 8.5f);
gfx::Vector2d sent_scroll_delta(12, -3);
- layer()->PushScrollOffsetFromMainThread(scroll_offset);
+ scroll_tree(layer())->UpdateScrollOffsetBaseForTesting(layer()->id(),
+ scroll_offset);
layer()->ScrollBy(sent_scroll_delta);
layer()->synced_scroll_offset()->PullDeltaForMainThread();
layer()->SetCurrentScrollOffset(scroll_offset +
@@ -587,16 +605,19 @@ TEST_F(LayerImplScrollTest, ApplySentScrollsNoListener) {
EXPECT_VECTOR_EQ(gfx::ScrollOffsetWithDelta(scroll_offset, scroll_delta),
layer()->CurrentScrollOffset());
- EXPECT_VECTOR_EQ(scroll_delta, layer()->ScrollDelta());
- EXPECT_VECTOR_EQ(scroll_offset, layer()->BaseScrollOffset());
+ EXPECT_VECTOR_EQ(scroll_delta, ScrollDelta(layer()));
+ EXPECT_VECTOR_EQ(
+ scroll_offset,
+ scroll_tree(layer())->GetScrollOffsetBaseForTesting(layer()->id()));
layer()->synced_scroll_offset()->AbortCommit();
EXPECT_VECTOR_EQ(gfx::ScrollOffsetWithDelta(scroll_offset, scroll_delta),
layer()->CurrentScrollOffset());
- EXPECT_VECTOR_EQ(scroll_delta - sent_scroll_delta, layer()->ScrollDelta());
- EXPECT_VECTOR_EQ(gfx::ScrollOffsetWithDelta(scroll_offset, sent_scroll_delta),
- layer()->BaseScrollOffset());
+ EXPECT_VECTOR_EQ(scroll_delta - sent_scroll_delta, ScrollDelta(layer()));
+ EXPECT_VECTOR_EQ(
+ gfx::ScrollOffsetWithDelta(scroll_offset, sent_scroll_delta),
+ scroll_tree(layer())->GetScrollOffsetBaseForTesting(layer()->id()));
}
TEST_F(LayerImplScrollTest, ScrollUserUnscrollableLayer) {
@@ -604,7 +625,8 @@ TEST_F(LayerImplScrollTest, ScrollUserUnscrollableLayer) {
gfx::Vector2dF scroll_delta(20.5f, 8.5f);
layer()->set_user_scrollable_vertical(false);
- layer()->PushScrollOffsetFromMainThread(scroll_offset);
+ scroll_tree(layer())->UpdateScrollOffsetBaseForTesting(layer()->id(),
+ scroll_offset);
gfx::Vector2dF unscrolled = layer()->ScrollBy(scroll_delta);
EXPECT_VECTOR_EQ(gfx::Vector2dF(0, 8.5f), unscrolled);
@@ -617,7 +639,8 @@ TEST_F(LayerImplScrollTest, PushPropertiesToMirrorsCurrentScrollOffset) {
host_impl().CreatePendingTree();
- layer()->PushScrollOffsetFromMainThread(scroll_offset);
+ scroll_tree(layer())->UpdateScrollOffsetBaseForTesting(layer()->id(),
+ scroll_offset);
gfx::Vector2dF unscrolled = layer()->ScrollBy(scroll_delta);
EXPECT_VECTOR_EQ(gfx::Vector2dF(0, 0), unscrolled);
@@ -627,7 +650,9 @@ TEST_F(LayerImplScrollTest, PushPropertiesToMirrorsCurrentScrollOffset) {
scoped_ptr<LayerImpl> pending_layer =
LayerImpl::Create(host_impl().sync_tree(), layer()->id());
- pending_layer->PushScrollOffsetFromMainThread(layer()->CurrentScrollOffset());
+ scroll_tree(pending_layer.get())
+ ->UpdateScrollOffsetBaseForTesting(pending_layer->id(),
+ layer()->CurrentScrollOffset());
pending_layer->PushPropertiesTo(layer());
« no previous file with comments | « cc/layers/layer_impl.cc ('k') | cc/layers/layer_position_constraint_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698