Chromium Code Reviews| Index: cc/layers/layer_unittest.cc |
| diff --git a/cc/layers/layer_unittest.cc b/cc/layers/layer_unittest.cc |
| index 02768a29925699f5d0ef13bb3176577da0e15f26..32337c93d7c053aadbecab6d60d09bc1e2bec530 100644 |
| --- a/cc/layers/layer_unittest.cc |
| +++ b/cc/layers/layer_unittest.cc |
| @@ -49,11 +49,11 @@ using ::testing::Mock; |
| using ::testing::StrictMock; |
| using ::testing::_; |
| -#define EXPECT_SET_NEEDS_FULL_TREE_SYNC(expect, code_to_test) \ |
| - do { \ |
| - EXPECT_CALL(*layer_tree_host_, SetNeedsFullTreeSync()).Times((expect)); \ |
| - code_to_test; \ |
| - Mock::VerifyAndClearExpectations(layer_tree_host_.get()); \ |
| +#define EXPECT_SET_NEEDS_FULL_TREE_SYNC(expect, code_to_test) \ |
| + do { \ |
| + EXPECT_CALL(*layer_tree_, SetNeedsFullTreeSync()).Times((expect)); \ |
| + code_to_test; \ |
| + Mock::VerifyAndClearExpectations(layer_tree_); \ |
| } while (false) |
| #define EXECUTE_AND_VERIFY_SUBTREE_CHANGED(code_to_test) \ |
| @@ -888,18 +888,36 @@ class LayerSerializationTest : public testing::Test { |
| namespace { |
| +class MockLayerTree : public LayerTree { |
| + public: |
| + MockLayerTree(AnimationHost* animation_host, LayerTreeHost* layer_tree_host) |
| + : LayerTree(base::WrapUnique(animation_host), layer_tree_host) {} |
| + ~MockLayerTree() override {} |
| + |
| + MOCK_METHOD0(SetNeedsFullTreeSync, void()); |
| +}; |
| + |
| class MockLayerTreeHost : public LayerTreeHost { |
| public: |
| MockLayerTreeHost(LayerTreeHostSingleThreadClient* single_thread_client, |
| LayerTreeHost::InitParams* params) |
| - : LayerTreeHost(params, CompositorMode::SINGLE_THREADED) { |
| + // We pass the raw pointer to the AnimationHost to the MockLayerTree here, |
|
Khushal
2016/08/17 18:43:54
Added a comment to explain the weird release and w
|
| + // which the MockLayerTree will take ownership of. We tried using an |
| + // rvalue reference to the unique_ptr of the animation host instead but |
| + // StrictMock takes a const& of the arguments for the ctor of the |
| + // templated class, so sadly we had to resort to releasing the pointer and |
| + // wrapping it in a unique_ptr again later. |
| + : LayerTreeHost(params, |
| + CompositorMode::SINGLE_THREADED, |
| + base::MakeUnique<StrictMock<MockLayerTree>>( |
| + params->animation_host.release(), |
| + this)) { |
| InitializeSingleThreaded(single_thread_client, |
| base::ThreadTaskRunnerHandle::Get(), nullptr); |
| } |
| MOCK_METHOD0(SetNeedsCommit, void()); |
| MOCK_METHOD0(SetNeedsUpdateLayers, void()); |
| - MOCK_METHOD0(SetNeedsFullTreeSync, void()); |
| }; |
| class LayerTest : public testing::Test { |
| @@ -929,11 +947,14 @@ class LayerTest : public testing::Test { |
| layer_tree_host_.reset( |
| new StrictMock<MockLayerTreeHost>(&single_thread_client_, ¶ms)); |
| + layer_tree_ = static_cast<StrictMock<MockLayerTree>*>( |
| + layer_tree_host_->GetLayerTree()); |
| } |
| void TearDown() override { |
| Mock::VerifyAndClearExpectations(layer_tree_host_.get()); |
| - EXPECT_CALL(*layer_tree_host_, SetNeedsFullTreeSync()).Times(AnyNumber()); |
| + Mock::VerifyAndClearExpectations(layer_tree_); |
| + EXPECT_CALL(*layer_tree_, SetNeedsFullTreeSync()).Times(AnyNumber()); |
| parent_ = nullptr; |
| child1_ = nullptr; |
| child2_ = nullptr; |
| @@ -942,8 +963,9 @@ class LayerTest : public testing::Test { |
| grand_child2_ = nullptr; |
| grand_child3_ = nullptr; |
| - layer_tree_host_->SetRootLayer(nullptr); |
| + layer_tree_->SetRootLayer(nullptr); |
| layer_tree_host_ = nullptr; |
| + layer_tree_ = nullptr; |
| } |
| void VerifyTestTreeInitialState() const { |
| @@ -977,8 +999,8 @@ class LayerTest : public testing::Test { |
| grand_child2_ = Layer::Create(); |
| grand_child3_ = Layer::Create(); |
| - EXPECT_CALL(*layer_tree_host_, SetNeedsFullTreeSync()).Times(AnyNumber()); |
| - layer_tree_host_->SetRootLayer(parent_); |
| + EXPECT_CALL(*layer_tree_, SetNeedsFullTreeSync()).Times(AnyNumber()); |
| + layer_tree_->SetRootLayer(parent_); |
| parent_->AddChild(child1_); |
| parent_->AddChild(child2_); |
| @@ -987,7 +1009,7 @@ class LayerTest : public testing::Test { |
| child1_->AddChild(grand_child2_); |
| child2_->AddChild(grand_child3_); |
| - Mock::VerifyAndClearExpectations(layer_tree_host_.get()); |
| + Mock::VerifyAndClearExpectations(layer_tree_); |
| VerifyTestTreeInitialState(); |
| } |
| @@ -1000,6 +1022,7 @@ class LayerTest : public testing::Test { |
| StubLayerTreeHostSingleThreadClient single_thread_client_; |
| FakeLayerTreeHostClient fake_client_; |
| std::unique_ptr<StrictMock<MockLayerTreeHost>> layer_tree_host_; |
| + StrictMock<MockLayerTree>* layer_tree_; |
| scoped_refptr<Layer> parent_; |
| scoped_refptr<Layer> child1_; |
| scoped_refptr<Layer> child2_; |
| @@ -1026,7 +1049,7 @@ TEST_F(LayerTest, BasicCreateAndDestroy) { |
| } |
| TEST_F(LayerTest, LayerPropertyChangedForSubtree) { |
| - EXPECT_CALL(*layer_tree_host_, SetNeedsFullTreeSync()).Times(AtLeast(1)); |
| + EXPECT_CALL(*layer_tree_, SetNeedsFullTreeSync()).Times(AtLeast(1)); |
| scoped_refptr<Layer> root = Layer::Create(); |
| scoped_refptr<Layer> child = Layer::Create(); |
| scoped_refptr<Layer> child2 = Layer::Create(); |
| @@ -1034,7 +1057,7 @@ TEST_F(LayerTest, LayerPropertyChangedForSubtree) { |
| scoped_refptr<Layer> dummy_layer1 = Layer::Create(); |
| scoped_refptr<Layer> dummy_layer2 = Layer::Create(); |
| - layer_tree_host_->SetRootLayer(root); |
| + layer_tree_->SetRootLayer(root); |
| root->AddChild(child); |
| root->AddChild(child2); |
| child->AddChild(grand_child); |
| @@ -1056,7 +1079,7 @@ TEST_F(LayerTest, LayerPropertyChangedForSubtree) { |
| std::unique_ptr<LayerImpl> dummy_layer2_impl = |
| LayerImpl::Create(host_impl_.active_tree(), dummy_layer2->id()); |
| - EXPECT_CALL(*layer_tree_host_, SetNeedsFullTreeSync()).Times(1); |
| + EXPECT_CALL(*layer_tree_, SetNeedsFullTreeSync()).Times(1); |
| EXECUTE_AND_VERIFY_SUBTREE_CHANGED(root->SetMaskLayer(dummy_layer1.get())); |
| EXECUTE_AND_VERIFY_SUBTREE_CHANGES_RESET( |
| root->PushPropertiesTo(root_impl.get()); |
| @@ -1081,7 +1104,7 @@ TEST_F(LayerTest, LayerPropertyChangedForSubtree) { |
| child2->PushPropertiesTo(child2_impl.get()); |
| grand_child->PushPropertiesTo(grand_child_impl.get())); |
| - EXPECT_CALL(*layer_tree_host_, SetNeedsFullTreeSync()).Times(1); |
| + EXPECT_CALL(*layer_tree_, SetNeedsFullTreeSync()).Times(1); |
| EXECUTE_AND_VERIFY_SUBTREE_CHANGED(root->SetReplicaLayer(dummy_layer2.get())); |
| EXECUTE_AND_VERIFY_SUBTREE_CHANGES_RESET( |
| root->PushPropertiesTo(root_impl.get()); |
| @@ -1161,7 +1184,7 @@ TEST_F(LayerTest, LayerPropertyChangedForSubtree) { |
| gfx::PointF arbitrary_point_f = gfx::PointF(0.125f, 0.25f); |
| EXPECT_CALL(*layer_tree_host_, SetNeedsCommit()).Times(1); |
| root->SetPosition(arbitrary_point_f); |
| - TransformNode* node = layer_tree_host_->property_trees()->transform_tree.Node( |
| + TransformNode* node = layer_tree_->property_trees()->transform_tree.Node( |
| root->transform_tree_index()); |
| EXPECT_TRUE(node->transform_changed); |
| EXECUTE_AND_VERIFY_SUBTREE_CHANGES_RESET( |
| @@ -1169,33 +1192,33 @@ TEST_F(LayerTest, LayerPropertyChangedForSubtree) { |
| child->PushPropertiesTo(child_impl.get()); |
| child2->PushPropertiesTo(child2_impl.get()); |
| grand_child->PushPropertiesTo(grand_child_impl.get()); |
| - layer_tree_host_->property_trees()->ResetAllChangeTracking()); |
| + layer_tree_->property_trees()->ResetAllChangeTracking()); |
| EXPECT_FALSE(node->transform_changed); |
| EXPECT_CALL(*layer_tree_host_, SetNeedsCommit()).Times(1); |
| child->SetPosition(arbitrary_point_f); |
| - node = layer_tree_host_->property_trees()->transform_tree.Node( |
| + node = layer_tree_->property_trees()->transform_tree.Node( |
| child->transform_tree_index()); |
| EXPECT_TRUE(node->transform_changed); |
| // child2 is not in the subtree of child, but its scroll parent is. So, its |
| // to_screen will be effected by change in position of child2. |
| - layer_tree_host_->property_trees()->transform_tree.UpdateTransforms( |
| + layer_tree_->property_trees()->transform_tree.UpdateTransforms( |
| child2->transform_tree_index()); |
| - node = layer_tree_host_->property_trees()->transform_tree.Node( |
| + node = layer_tree_->property_trees()->transform_tree.Node( |
| child2->transform_tree_index()); |
| EXPECT_TRUE(node->transform_changed); |
| EXECUTE_AND_VERIFY_SUBTREE_CHANGES_RESET( |
| child->PushPropertiesTo(child_impl.get()); |
| grand_child->PushPropertiesTo(grand_child_impl.get()); |
| - layer_tree_host_->property_trees()->ResetAllChangeTracking()); |
| - node = layer_tree_host_->property_trees()->transform_tree.Node( |
| + layer_tree_->property_trees()->ResetAllChangeTracking()); |
| + node = layer_tree_->property_trees()->transform_tree.Node( |
| child->transform_tree_index()); |
| EXPECT_FALSE(node->transform_changed); |
| gfx::Point3F arbitrary_point_3f = gfx::Point3F(0.125f, 0.25f, 0.f); |
| EXPECT_CALL(*layer_tree_host_, SetNeedsCommit()).Times(1); |
| root->SetTransformOrigin(arbitrary_point_3f); |
| - node = layer_tree_host_->property_trees()->transform_tree.Node( |
| + node = layer_tree_->property_trees()->transform_tree.Node( |
| root->transform_tree_index()); |
| EXPECT_TRUE(node->transform_changed); |
| EXECUTE_AND_VERIFY_SUBTREE_CHANGES_RESET( |
| @@ -1203,13 +1226,13 @@ TEST_F(LayerTest, LayerPropertyChangedForSubtree) { |
| child->PushPropertiesTo(child_impl.get()); |
| child2->PushPropertiesTo(child2_impl.get()); |
| grand_child->PushPropertiesTo(grand_child_impl.get()); |
| - layer_tree_host_->property_trees()->ResetAllChangeTracking()); |
| + layer_tree_->property_trees()->ResetAllChangeTracking()); |
| gfx::Transform arbitrary_transform; |
| arbitrary_transform.Scale3d(0.1f, 0.2f, 0.3f); |
| EXPECT_CALL(*layer_tree_host_, SetNeedsCommit()).Times(1); |
| root->SetTransform(arbitrary_transform); |
| - node = layer_tree_host_->property_trees()->transform_tree.Node( |
| + node = layer_tree_->property_trees()->transform_tree.Node( |
| root->transform_tree_index()); |
| EXPECT_TRUE(node->transform_changed); |
| } |
| @@ -1222,7 +1245,7 @@ TEST_F(LayerTest, AddAndRemoveChild) { |
| ASSERT_EQ(0U, parent->children().size()); |
| EXPECT_FALSE(child->parent()); |
| - EXPECT_SET_NEEDS_FULL_TREE_SYNC(1, layer_tree_host_->SetRootLayer(parent)); |
| + EXPECT_SET_NEEDS_FULL_TREE_SYNC(1, layer_tree_->SetRootLayer(parent)); |
| EXPECT_SET_NEEDS_FULL_TREE_SYNC(1, parent->AddChild(child)); |
| ASSERT_EQ(1U, parent->children().size()); |
| @@ -1234,12 +1257,12 @@ TEST_F(LayerTest, AddAndRemoveChild) { |
| } |
| TEST_F(LayerTest, AddSameChildTwice) { |
| - EXPECT_CALL(*layer_tree_host_, SetNeedsFullTreeSync()).Times(AtLeast(1)); |
| + EXPECT_CALL(*layer_tree_, SetNeedsFullTreeSync()).Times(AtLeast(1)); |
| scoped_refptr<Layer> parent = Layer::Create(); |
| scoped_refptr<Layer> child = Layer::Create(); |
| - layer_tree_host_->SetRootLayer(parent); |
| + layer_tree_->SetRootLayer(parent); |
| ASSERT_EQ(0u, parent->children().size()); |
| @@ -1259,7 +1282,7 @@ TEST_F(LayerTest, InsertChild) { |
| scoped_refptr<Layer> child3 = Layer::Create(); |
| scoped_refptr<Layer> child4 = Layer::Create(); |
| - EXPECT_SET_NEEDS_FULL_TREE_SYNC(1, layer_tree_host_->SetRootLayer(parent)); |
| + EXPECT_SET_NEEDS_FULL_TREE_SYNC(1, layer_tree_->SetRootLayer(parent)); |
| ASSERT_EQ(0U, parent->children().size()); |
| @@ -1294,7 +1317,7 @@ TEST_F(LayerTest, InsertChild) { |
| EXPECT_EQ(child4, parent->children()[3]); |
| EXPECT_EQ(parent.get(), child4->parent()); |
| - EXPECT_SET_NEEDS_FULL_TREE_SYNC(1, layer_tree_host_->SetRootLayer(nullptr)); |
| + EXPECT_SET_NEEDS_FULL_TREE_SYNC(1, layer_tree_->SetRootLayer(nullptr)); |
| } |
| TEST_F(LayerTest, InsertChildPastEndOfList) { |
| @@ -1323,7 +1346,7 @@ TEST_F(LayerTest, InsertSameChildTwice) { |
| scoped_refptr<Layer> child1 = Layer::Create(); |
| scoped_refptr<Layer> child2 = Layer::Create(); |
| - EXPECT_SET_NEEDS_FULL_TREE_SYNC(1, layer_tree_host_->SetRootLayer(parent)); |
| + EXPECT_SET_NEEDS_FULL_TREE_SYNC(1, layer_tree_->SetRootLayer(parent)); |
| ASSERT_EQ(0U, parent->children().size()); |
| @@ -1343,7 +1366,7 @@ TEST_F(LayerTest, InsertSameChildTwice) { |
| EXPECT_EQ(child2, parent->children()[0]); |
| EXPECT_EQ(child1, parent->children()[1]); |
| - EXPECT_SET_NEEDS_FULL_TREE_SYNC(1, layer_tree_host_->SetRootLayer(nullptr)); |
| + EXPECT_SET_NEEDS_FULL_TREE_SYNC(1, layer_tree_->SetRootLayer(nullptr)); |
| } |
| TEST_F(LayerTest, ReplaceChildWithNewChild) { |
| @@ -1400,7 +1423,7 @@ TEST_F(LayerTest, DeleteRemovedScrollParent) { |
| scoped_refptr<Layer> child1 = Layer::Create(); |
| scoped_refptr<Layer> child2 = Layer::Create(); |
| - EXPECT_SET_NEEDS_FULL_TREE_SYNC(1, layer_tree_host_->SetRootLayer(parent)); |
| + EXPECT_SET_NEEDS_FULL_TREE_SYNC(1, layer_tree_->SetRootLayer(parent)); |
| ASSERT_EQ(0U, parent->children().size()); |
| @@ -1419,11 +1442,9 @@ TEST_F(LayerTest, DeleteRemovedScrollParent) { |
| EXPECT_SET_NEEDS_COMMIT(1, child2 = nullptr); |
| - EXPECT_TRUE( |
| - layer_tree_host_->GetLayerTree()->LayerNeedsPushPropertiesForTesting( |
| - child1.get())); |
| + EXPECT_TRUE(layer_tree_->LayerNeedsPushPropertiesForTesting(child1.get())); |
| - EXPECT_SET_NEEDS_FULL_TREE_SYNC(1, layer_tree_host_->SetRootLayer(nullptr)); |
| + EXPECT_SET_NEEDS_FULL_TREE_SYNC(1, layer_tree_->SetRootLayer(nullptr)); |
| } |
| TEST_F(LayerTest, DeleteRemovedScrollChild) { |
| @@ -1431,7 +1452,7 @@ TEST_F(LayerTest, DeleteRemovedScrollChild) { |
| scoped_refptr<Layer> child1 = Layer::Create(); |
| scoped_refptr<Layer> child2 = Layer::Create(); |
| - EXPECT_SET_NEEDS_FULL_TREE_SYNC(1, layer_tree_host_->SetRootLayer(parent)); |
| + EXPECT_SET_NEEDS_FULL_TREE_SYNC(1, layer_tree_->SetRootLayer(parent)); |
| ASSERT_EQ(0U, parent->children().size()); |
| @@ -1450,11 +1471,9 @@ TEST_F(LayerTest, DeleteRemovedScrollChild) { |
| EXPECT_SET_NEEDS_COMMIT(1, child1 = nullptr); |
| - EXPECT_TRUE( |
| - layer_tree_host_->GetLayerTree()->LayerNeedsPushPropertiesForTesting( |
| - child2.get())); |
| + EXPECT_TRUE(layer_tree_->LayerNeedsPushPropertiesForTesting(child2.get())); |
| - EXPECT_SET_NEEDS_FULL_TREE_SYNC(1, layer_tree_host_->SetRootLayer(nullptr)); |
| + EXPECT_SET_NEEDS_FULL_TREE_SYNC(1, layer_tree_->SetRootLayer(nullptr)); |
| } |
| TEST_F(LayerTest, ReplaceChildWithSameChild) { |
| @@ -1463,7 +1482,7 @@ TEST_F(LayerTest, ReplaceChildWithSameChild) { |
| // SetNeedsFullTreeSync / SetNeedsCommit should not be called because its the |
| // same child. |
| EXPECT_CALL(*layer_tree_host_, SetNeedsCommit()).Times(0); |
| - EXPECT_CALL(*layer_tree_host_, SetNeedsFullTreeSync()).Times(0); |
| + EXPECT_CALL(*layer_tree_, SetNeedsFullTreeSync()).Times(0); |
| parent_->ReplaceChild(child2_.get(), child2_); |
| VerifyTestTreeInitialState(); |
| @@ -1498,8 +1517,7 @@ TEST_F(LayerTest, SetChildren) { |
| EXPECT_EQ(old_parent.get(), child1->parent()); |
| EXPECT_FALSE(child2->parent()); |
| - EXPECT_SET_NEEDS_FULL_TREE_SYNC( |
| - 1, layer_tree_host_->SetRootLayer(new_parent)); |
| + EXPECT_SET_NEEDS_FULL_TREE_SYNC(1, layer_tree_->SetRootLayer(new_parent)); |
| EXPECT_SET_NEEDS_FULL_TREE_SYNC( |
| AtLeast(1), new_parent->SetChildren(new_children)); |
| @@ -1508,7 +1526,7 @@ TEST_F(LayerTest, SetChildren) { |
| EXPECT_EQ(new_parent.get(), child1->parent()); |
| EXPECT_EQ(new_parent.get(), child2->parent()); |
| - EXPECT_SET_NEEDS_FULL_TREE_SYNC(1, layer_tree_host_->SetRootLayer(nullptr)); |
| + EXPECT_SET_NEEDS_FULL_TREE_SYNC(1, layer_tree_->SetRootLayer(nullptr)); |
| } |
| TEST_F(LayerTest, HasAncestor) { |
| @@ -1536,7 +1554,7 @@ TEST_F(LayerTest, GetRootLayerAfterTreeManipulations) { |
| CreateSimpleTestTree(); |
| // For this test we don't care about SetNeedsFullTreeSync calls. |
| - EXPECT_CALL(*layer_tree_host_, SetNeedsFullTreeSync()).Times(AnyNumber()); |
| + EXPECT_CALL(*layer_tree_, SetNeedsFullTreeSync()).Times(AnyNumber()); |
| scoped_refptr<Layer> child4 = Layer::Create(); |
| @@ -1594,8 +1612,7 @@ TEST_F(LayerTest, CheckSetNeedsDisplayCausesCorrectBehavior) { |
| // SetNeedsDisplay. |
| scoped_refptr<Layer> test_layer = Layer::Create(); |
| - EXPECT_SET_NEEDS_FULL_TREE_SYNC( |
| - 1, layer_tree_host_->SetRootLayer(test_layer)); |
| + EXPECT_SET_NEEDS_FULL_TREE_SYNC(1, layer_tree_->SetRootLayer(test_layer)); |
| EXPECT_SET_NEEDS_COMMIT(1, test_layer->SetIsDrawable(true)); |
| gfx::Size test_bounds = gfx::Size(501, 508); |
| @@ -1646,8 +1663,7 @@ TEST_F(LayerTest, CheckSetNeedsDisplayCausesCorrectBehavior) { |
| TEST_F(LayerTest, TestSettingMainThreadScrollingReason) { |
| scoped_refptr<Layer> test_layer = Layer::Create(); |
| - EXPECT_SET_NEEDS_FULL_TREE_SYNC(1, |
| - layer_tree_host_->SetRootLayer(test_layer)); |
| + EXPECT_SET_NEEDS_FULL_TREE_SYNC(1, layer_tree_->SetRootLayer(test_layer)); |
| EXPECT_SET_NEEDS_COMMIT(1, test_layer->SetIsDrawable(true)); |
| // sanity check of initial test condition |
| @@ -1697,8 +1713,7 @@ TEST_F(LayerTest, TestSettingMainThreadScrollingReason) { |
| TEST_F(LayerTest, CheckPropertyChangeCausesCorrectBehavior) { |
| scoped_refptr<Layer> test_layer = Layer::Create(); |
| - EXPECT_SET_NEEDS_FULL_TREE_SYNC( |
| - 1, layer_tree_host_->SetRootLayer(test_layer)); |
| + EXPECT_SET_NEEDS_FULL_TREE_SYNC(1, layer_tree_->SetRootLayer(test_layer)); |
| EXPECT_SET_NEEDS_COMMIT(1, test_layer->SetIsDrawable(true)); |
| scoped_refptr<Layer> dummy_layer1 = Layer::Create(); |
| @@ -1749,7 +1764,7 @@ TEST_F(LayerTest, CheckPropertyChangeCausesCorrectBehavior) { |
| EXPECT_FALSE(test_layer->NeedsDisplayForTesting()); |
| // As layers are removed from the tree, they will cause a tree sync. |
| - EXPECT_CALL(*layer_tree_host_, SetNeedsFullTreeSync()).Times((AnyNumber())); |
| + EXPECT_CALL(*layer_tree_, SetNeedsFullTreeSync()).Times((AnyNumber())); |
| } |
| TEST_F(LayerTest, PushPropertiesAccumulatesUpdateRect) { |
| @@ -1757,8 +1772,7 @@ TEST_F(LayerTest, PushPropertiesAccumulatesUpdateRect) { |
| std::unique_ptr<LayerImpl> impl_layer = |
| LayerImpl::Create(host_impl_.active_tree(), 1); |
| - EXPECT_SET_NEEDS_FULL_TREE_SYNC(1, |
| - layer_tree_host_->SetRootLayer(test_layer)); |
| + EXPECT_SET_NEEDS_FULL_TREE_SYNC(1, layer_tree_->SetRootLayer(test_layer)); |
| host_impl_.active_tree()->SetRootLayerForTesting(std::move(impl_layer)); |
| host_impl_.active_tree()->BuildLayerListForTesting(); |
| @@ -1789,8 +1803,7 @@ TEST_F(LayerTest, PushPropertiesCausesLayerPropertyChangedForTransform) { |
| std::unique_ptr<LayerImpl> impl_layer = |
| LayerImpl::Create(host_impl_.active_tree(), 1); |
| - EXPECT_SET_NEEDS_FULL_TREE_SYNC(1, |
| - layer_tree_host_->SetRootLayer(test_layer)); |
| + EXPECT_SET_NEEDS_FULL_TREE_SYNC(1, layer_tree_->SetRootLayer(test_layer)); |
| gfx::Transform transform; |
| transform.Rotate(45.0); |
| @@ -1808,8 +1821,7 @@ TEST_F(LayerTest, PushPropertiesCausesLayerPropertyChangedForOpacity) { |
| std::unique_ptr<LayerImpl> impl_layer = |
| LayerImpl::Create(host_impl_.active_tree(), 1); |
| - EXPECT_SET_NEEDS_FULL_TREE_SYNC(1, |
| - layer_tree_host_->SetRootLayer(test_layer)); |
| + EXPECT_SET_NEEDS_FULL_TREE_SYNC(1, layer_tree_->SetRootLayer(test_layer)); |
| EXPECT_SET_NEEDS_COMMIT(1, test_layer->SetOpacity(0.5f)); |
| @@ -1915,15 +1927,16 @@ TEST_F(LayerLayerTreeHostTest, EnteringTree) { |
| LayerTreeHostFactory factory; |
| std::unique_ptr<LayerTreeHost> layer_tree_host = factory.Create(); |
| + LayerTree* layer_tree = layer_tree_host->GetLayerTree(); |
| // Setting the root layer should set the host pointer for all layers in the |
| // tree. |
| - layer_tree_host->SetRootLayer(parent.get()); |
| + layer_tree->SetRootLayer(parent.get()); |
| AssertLayerTreeHostMatchesForSubtree(parent.get(), layer_tree_host.get()); |
| // Clearing the root layer should also clear out the host pointers for all |
| // layers in the tree. |
| - layer_tree_host->SetRootLayer(nullptr); |
| + layer_tree->SetRootLayer(nullptr); |
| AssertLayerTreeHostMatchesForSubtree(parent.get(), nullptr); |
| } |
| @@ -1932,8 +1945,9 @@ TEST_F(LayerLayerTreeHostTest, AddingLayerSubtree) { |
| scoped_refptr<Layer> parent = Layer::Create(); |
| LayerTreeHostFactory factory; |
| std::unique_ptr<LayerTreeHost> layer_tree_host = factory.Create(); |
| + LayerTree* layer_tree = layer_tree_host->GetLayerTree(); |
| - layer_tree_host->SetRootLayer(parent.get()); |
| + layer_tree->SetRootLayer(parent.get()); |
| EXPECT_EQ(parent->layer_tree_host(), layer_tree_host.get()); |
| @@ -1954,7 +1968,7 @@ TEST_F(LayerLayerTreeHostTest, AddingLayerSubtree) { |
| parent->AddChild(child); |
| AssertLayerTreeHostMatchesForSubtree(parent.get(), layer_tree_host.get()); |
| - layer_tree_host->SetRootLayer(nullptr); |
| + layer_tree->SetRootLayer(nullptr); |
| } |
| TEST_F(LayerLayerTreeHostTest, ChangeHost) { |
| @@ -1972,7 +1986,7 @@ TEST_F(LayerLayerTreeHostTest, ChangeHost) { |
| LayerTreeHostFactory factory; |
| std::unique_ptr<LayerTreeHost> first_layer_tree_host = factory.Create(); |
| - first_layer_tree_host->SetRootLayer(parent.get()); |
| + first_layer_tree_host->GetLayerTree()->SetRootLayer(parent.get()); |
| AssertLayerTreeHostMatchesForSubtree(parent.get(), |
| first_layer_tree_host.get()); |
| @@ -1980,12 +1994,12 @@ TEST_F(LayerLayerTreeHostTest, ChangeHost) { |
| // Now re-root the tree to a new host (simulating what we do on a context lost |
| // event). This should update the host pointers for all layers in the tree. |
| std::unique_ptr<LayerTreeHost> second_layer_tree_host = factory.Create(); |
| - second_layer_tree_host->SetRootLayer(parent.get()); |
| + second_layer_tree_host->GetLayerTree()->SetRootLayer(parent.get()); |
| AssertLayerTreeHostMatchesForSubtree(parent.get(), |
| second_layer_tree_host.get()); |
| - second_layer_tree_host->SetRootLayer(nullptr); |
| + second_layer_tree_host->GetLayerTree()->SetRootLayer(nullptr); |
| } |
| TEST_F(LayerLayerTreeHostTest, ChangeHostInSubtree) { |
| @@ -2002,7 +2016,7 @@ TEST_F(LayerLayerTreeHostTest, ChangeHostInSubtree) { |
| LayerTreeHostFactory factory; |
| std::unique_ptr<LayerTreeHost> first_layer_tree_host = factory.Create(); |
| - first_layer_tree_host->SetRootLayer(first_parent.get()); |
| + first_layer_tree_host->GetLayerTree()->SetRootLayer(first_parent.get()); |
| AssertLayerTreeHostMatchesForSubtree(first_parent.get(), |
| first_layer_tree_host.get()); |
| @@ -2010,7 +2024,7 @@ TEST_F(LayerLayerTreeHostTest, ChangeHostInSubtree) { |
| // Now reparent the subtree starting at second_child to a layer in a different |
| // tree. |
| std::unique_ptr<LayerTreeHost> second_layer_tree_host = factory.Create(); |
| - second_layer_tree_host->SetRootLayer(second_parent.get()); |
| + second_layer_tree_host->GetLayerTree()->SetRootLayer(second_parent.get()); |
| second_parent->AddChild(second_child); |
| @@ -2020,8 +2034,8 @@ TEST_F(LayerLayerTreeHostTest, ChangeHostInSubtree) { |
| second_grand_child->layer_tree_host()); |
| // Test over, cleanup time. |
| - first_layer_tree_host->SetRootLayer(nullptr); |
| - second_layer_tree_host->SetRootLayer(nullptr); |
| + first_layer_tree_host->GetLayerTree()->SetRootLayer(nullptr); |
| + second_layer_tree_host->GetLayerTree()->SetRootLayer(nullptr); |
| } |
| TEST_F(LayerLayerTreeHostTest, ReplaceMaskAndReplicaLayer) { |
| @@ -2040,7 +2054,7 @@ TEST_F(LayerLayerTreeHostTest, ReplaceMaskAndReplicaLayer) { |
| LayerTreeHostFactory factory; |
| std::unique_ptr<LayerTreeHost> layer_tree_host = factory.Create(); |
| - layer_tree_host->SetRootLayer(parent.get()); |
| + layer_tree_host->GetLayerTree()->SetRootLayer(parent.get()); |
| AssertLayerTreeHostMatchesForSubtree(parent.get(), layer_tree_host.get()); |
| @@ -2055,7 +2069,7 @@ TEST_F(LayerLayerTreeHostTest, ReplaceMaskAndReplicaLayer) { |
| EXPECT_EQ(nullptr, replica_child->layer_tree_host()); |
| // Test over, cleanup time. |
| - layer_tree_host->SetRootLayer(nullptr); |
| + layer_tree_host->GetLayerTree()->SetRootLayer(nullptr); |
| } |
| TEST_F(LayerLayerTreeHostTest, DestroyHostWithNonNullRootLayer) { |
| @@ -2064,15 +2078,16 @@ TEST_F(LayerLayerTreeHostTest, DestroyHostWithNonNullRootLayer) { |
| root->AddChild(child); |
| LayerTreeHostFactory factory; |
| std::unique_ptr<LayerTreeHost> layer_tree_host = factory.Create(); |
| - layer_tree_host->SetRootLayer(root); |
| + layer_tree_host->GetLayerTree()->SetRootLayer(root); |
| } |
| TEST_F(LayerTest, SafeOpaqueBackgroundColor) { |
| LayerTreeHostFactory factory; |
| std::unique_ptr<LayerTreeHost> layer_tree_host = factory.Create(); |
| + LayerTree* layer_tree = layer_tree_host->GetLayerTree(); |
| scoped_refptr<Layer> layer = Layer::Create(); |
| - layer_tree_host->SetRootLayer(layer); |
| + layer_tree->SetRootLayer(layer); |
| for (int contents_opaque = 0; contents_opaque < 2; ++contents_opaque) { |
| for (int layer_opaque = 0; layer_opaque < 2; ++layer_opaque) { |
| @@ -2080,10 +2095,10 @@ TEST_F(LayerTest, SafeOpaqueBackgroundColor) { |
| layer->SetContentsOpaque(!!contents_opaque); |
| layer->SetBackgroundColor(layer_opaque ? SK_ColorRED |
| : SK_ColorTRANSPARENT); |
| - layer_tree_host->set_background_color( |
| - host_opaque ? SK_ColorRED : SK_ColorTRANSPARENT); |
| + layer_tree->set_background_color(host_opaque ? SK_ColorRED |
| + : SK_ColorTRANSPARENT); |
| - layer_tree_host->property_trees()->needs_rebuild = true; |
| + layer_tree->property_trees()->needs_rebuild = true; |
| layer_tree_host->BuildPropertyTreesForTesting(); |
| SkColor safe_color = layer->SafeOpaqueBackgroundColor(); |
| if (contents_opaque) { |
| @@ -2216,7 +2231,7 @@ TEST_F(LayerTest, DedupesCopyOutputRequestsBySource) { |
| TEST_F(LayerTest, AnimationSchedulesLayerUpdate) { |
| scoped_refptr<Layer> layer = Layer::Create(); |
| - EXPECT_SET_NEEDS_FULL_TREE_SYNC(1, layer_tree_host_->SetRootLayer(layer)); |
| + EXPECT_SET_NEEDS_FULL_TREE_SYNC(1, layer_tree_->SetRootLayer(layer)); |
| LayerInternalsForTest layer_internals(layer.get()); |
| @@ -2532,8 +2547,7 @@ TEST_F(LayerTest, ElementIdAndMutablePropertiesArePushed) { |
| std::unique_ptr<LayerImpl> impl_layer = |
| LayerImpl::Create(host_impl_.active_tree(), 1); |
| - EXPECT_SET_NEEDS_FULL_TREE_SYNC(1, |
| - layer_tree_host_->SetRootLayer(test_layer)); |
| + EXPECT_SET_NEEDS_FULL_TREE_SYNC(1, layer_tree_->SetRootLayer(test_layer)); |
| EXPECT_CALL(*layer_tree_host_, SetNeedsCommit()).Times(2); |