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

Unified Diff: cc/trees/tree_synchronizer_unittest.cc

Issue 1801853002: Transfer LayerImpl ownership to LayerTreeImpl (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebaaase. 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
« cc/trees/layer_tree_impl.cc ('K') | « cc/trees/tree_synchronizer.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/trees/tree_synchronizer_unittest.cc
diff --git a/cc/trees/tree_synchronizer_unittest.cc b/cc/trees/tree_synchronizer_unittest.cc
index ee4041afdd39950b4e933c99d2eab71c88523a0b..e474de6a8c32363fde3a0dab64d23d4296d68f67 100644
--- a/cc/trees/tree_synchronizer_unittest.cc
+++ b/cc/trees/tree_synchronizer_unittest.cc
@@ -45,8 +45,7 @@ class MockLayerImpl : public LayerImpl {
private:
MockLayerImpl(LayerTreeImpl* tree_impl, int layer_id)
- : LayerImpl(tree_impl, layer_id),
- layer_impl_destruction_list_(NULL) {}
+ : LayerImpl(tree_impl, layer_id), layer_impl_destruction_list_(NULL) {}
std::vector<int>* layer_impl_destruction_list_;
};
@@ -92,19 +91,19 @@ void ExpectTreesAreIdentical(Layer* layer,
ASSERT_EQ(!!layer->mask_layer(), !!layer_impl->mask_layer());
if (layer->mask_layer()) {
SCOPED_TRACE("mask_layer");
- ExpectTreesAreIdentical(
- layer->mask_layer(), layer_impl->mask_layer(), tree_impl);
+ ExpectTreesAreIdentical(layer->mask_layer(), layer_impl->mask_layer(),
+ tree_impl);
}
ASSERT_EQ(!!layer->replica_layer(), !!layer_impl->replica_layer());
if (layer->replica_layer()) {
SCOPED_TRACE("replica_layer");
- ExpectTreesAreIdentical(
- layer->replica_layer(), layer_impl->replica_layer(), tree_impl);
+ ExpectTreesAreIdentical(layer->replica_layer(), layer_impl->replica_layer(),
+ tree_impl);
}
const LayerList& layer_children = layer->children();
- const OwnedLayerImplList& layer_impl_children = layer_impl->children();
+ const LayerImplList& layer_impl_children = layer_impl->children();
ASSERT_EQ(layer_children.size(), layer_impl_children.size());
@@ -115,9 +114,8 @@ void ExpectTreesAreIdentical(Layer* layer,
ASSERT_EQ(!!layer_scroll_children, !!layer_impl_scroll_children);
if (layer_scroll_children) {
- ASSERT_EQ(
- layer_scroll_children->size(),
- layer_impl_scroll_children->size());
+ ASSERT_EQ(layer_scroll_children->size(),
+ layer_impl_scroll_children->size());
}
const Layer* layer_scroll_parent = layer->scroll_parent();
@@ -128,9 +126,9 @@ void ExpectTreesAreIdentical(Layer* layer,
if (layer_scroll_parent) {
ASSERT_EQ(layer_scroll_parent->id(), layer_impl_scroll_parent->id());
ASSERT_TRUE(layer_scroll_parent->scroll_children()->find(layer) !=
- layer_scroll_parent->scroll_children()->end());
+ layer_scroll_parent->scroll_children()->end());
ASSERT_TRUE(layer_impl_scroll_parent->scroll_children()->find(layer_impl) !=
- layer_impl_scroll_parent->scroll_children()->end());
+ layer_impl_scroll_parent->scroll_children()->end());
}
const std::set<Layer*>* layer_clip_children = layer->clip_children();
@@ -150,8 +148,7 @@ void ExpectTreesAreIdentical(Layer* layer,
if (layer_clip_parent) {
const std::set<LayerImpl*>* clip_children_impl =
layer_impl_clip_parent->clip_children();
- const std::set<Layer*>* clip_children =
- layer_clip_parent->clip_children();
+ const std::set<Layer*>* clip_children = layer_clip_parent->clip_children();
ASSERT_EQ(layer_clip_parent->id(), layer_impl_clip_parent->id());
ASSERT_TRUE(clip_children->find(layer) != clip_children->end());
ASSERT_TRUE(clip_children_impl->find(layer_impl) !=
@@ -160,8 +157,8 @@ void ExpectTreesAreIdentical(Layer* layer,
for (size_t i = 0; i < layer_children.size(); ++i) {
SCOPED_TRACE(base::StringPrintf("child layer %" PRIuS, i).c_str());
- ExpectTreesAreIdentical(layer_children[i].get(),
- layer_impl_children[i].get(), tree_impl);
+ ExpectTreesAreIdentical(layer_children[i].get(), layer_impl_children[i],
+ tree_impl);
}
}
@@ -198,11 +195,9 @@ class TreeSynchronizerTest : public testing::Test {
// Attempts to synchronizes a null tree. This should not crash, and should
// return a null tree.
TEST_F(TreeSynchronizerTest, SyncNullTree) {
- scoped_ptr<LayerImpl> layer_impl_tree_root =
- TreeSynchronizer::SynchronizeTrees(
- static_cast<Layer*>(NULL), nullptr, host_->active_tree());
-
- EXPECT_TRUE(!layer_impl_tree_root.get());
+ TreeSynchronizer::SynchronizeTrees(static_cast<Layer*>(NULL),
+ host_->active_tree());
+ EXPECT_TRUE(!host_->active_tree()->root_layer());
}
// Constructs a very simple tree and synchronizes it without trying to reuse any
@@ -214,12 +209,11 @@ TEST_F(TreeSynchronizerTest, SyncSimpleTreeFromEmpty) {
host_->SetRootLayer(layer_tree_root);
- scoped_ptr<LayerImpl> layer_impl_tree_root =
- TreeSynchronizer::SynchronizeTrees(
- layer_tree_root.get(), nullptr, host_->active_tree());
+ TreeSynchronizer::SynchronizeTrees(layer_tree_root.get(),
+ host_->active_tree());
ExpectTreesAreIdentical(layer_tree_root.get(),
- layer_impl_tree_root.get(),
+ host_->active_tree()->root_layer(),
host_->active_tree());
}
@@ -235,16 +229,14 @@ TEST_F(TreeSynchronizerTest, SyncSimpleTreeReusingLayers) {
host_->SetRootLayer(layer_tree_root);
- scoped_ptr<LayerImpl> layer_impl_tree_root =
- TreeSynchronizer::SynchronizeTrees(
- layer_tree_root.get(), nullptr, host_->active_tree());
- ExpectTreesAreIdentical(layer_tree_root.get(),
- layer_impl_tree_root.get(),
+ TreeSynchronizer::SynchronizeTrees(layer_tree_root.get(),
+ host_->active_tree());
+ LayerImpl* layer_impl_tree_root = host_->active_tree()->root_layer();
+ ExpectTreesAreIdentical(layer_tree_root.get(), layer_impl_tree_root,
host_->active_tree());
// We have to push properties to pick up the destruction list pointer.
- TreeSynchronizer::PushProperties(layer_tree_root.get(),
- layer_impl_tree_root.get());
+ TreeSynchronizer::PushProperties(layer_tree_root.get(), layer_impl_tree_root);
// Add a new layer to the Layer side
layer_tree_root->children()[0]->AddChild(
@@ -255,15 +247,17 @@ TEST_F(TreeSynchronizerTest, SyncSimpleTreeReusingLayers) {
// Synchronize again. After the sync the trees should be equivalent and we
// should have created and destroyed one LayerImpl.
- layer_impl_tree_root = TreeSynchronizer::SynchronizeTrees(
- layer_tree_root.get(), std::move(layer_impl_tree_root),
- host_->active_tree());
- ExpectTreesAreIdentical(layer_tree_root.get(),
- layer_impl_tree_root.get(),
+ TreeSynchronizer::SynchronizeTrees(layer_tree_root.get(),
+ host_->active_tree());
+ layer_impl_tree_root = host_->active_tree()->root_layer();
+
+ ExpectTreesAreIdentical(layer_tree_root.get(), layer_impl_tree_root,
host_->active_tree());
ASSERT_EQ(1u, layer_impl_destruction_list.size());
EXPECT_EQ(second_layer_impl_id, layer_impl_destruction_list[0]);
+
+ host_->active_tree()->ClearLayers();
}
// Constructs a very simple tree and checks that a stacking-order change is
@@ -281,8 +275,8 @@ TEST_F(TreeSynchronizerTest, SyncSimpleTreeAndTrackStackingOrderChange) {
host_->SetRootLayer(layer_tree_root);
- host_->active_tree()->SetRootLayer(TreeSynchronizer::SynchronizeTrees(
- layer_tree_root.get(), nullptr, host_->active_tree()));
+ TreeSynchronizer::SynchronizeTrees(layer_tree_root.get(),
+ host_->active_tree());
LayerImpl* layer_impl_tree_root = host_->active_tree()->root_layer();
ExpectTreesAreIdentical(layer_tree_root.get(), layer_impl_tree_root,
host_->active_tree());
@@ -296,9 +290,8 @@ TEST_F(TreeSynchronizerTest, SyncSimpleTreeAndTrackStackingOrderChange) {
// re-insert the layer and sync again.
child2->RemoveFromParent();
layer_tree_root->AddChild(child2);
- host_->active_tree()->SetRootLayer(TreeSynchronizer::SynchronizeTrees(
- layer_tree_root.get(), host_->active_tree()->DetachLayerTree(),
- host_->active_tree()));
+ TreeSynchronizer::SynchronizeTrees(layer_tree_root.get(),
+ host_->active_tree());
layer_impl_tree_root = host_->active_tree()->root_layer();
ExpectTreesAreIdentical(layer_tree_root.get(), layer_impl_tree_root,
host_->active_tree());
@@ -309,7 +302,7 @@ TEST_F(TreeSynchronizerTest, SyncSimpleTreeAndTrackStackingOrderChange) {
EXPECT_FALSE(layer_impl_tree_root->LayerPropertyChanged());
EXPECT_FALSE(layer_impl_tree_root->children()[0]->LayerPropertyChanged());
EXPECT_TRUE(layer_impl_tree_root->children()[1]->LayerPropertyChanged());
- host_->active_tree()->DetachLayerTree();
+ host_->active_tree()->ClearLayers();
}
TEST_F(TreeSynchronizerTest, SyncSimpleTreeAndProperties) {
@@ -331,15 +324,13 @@ TEST_F(TreeSynchronizerTest, SyncSimpleTreeAndProperties) {
layer_tree_root->children()[1]->SetBounds(second_child_bounds);
layer_tree_root->children()[1]->SavePaintProperties();
- scoped_ptr<LayerImpl> layer_impl_tree_root =
- TreeSynchronizer::SynchronizeTrees(
- layer_tree_root.get(), nullptr, host_->active_tree());
- ExpectTreesAreIdentical(layer_tree_root.get(),
- layer_impl_tree_root.get(),
+ TreeSynchronizer::SynchronizeTrees(layer_tree_root.get(),
+ host_->active_tree());
+ LayerImpl* layer_impl_tree_root = host_->active_tree()->root_layer();
+ ExpectTreesAreIdentical(layer_tree_root.get(), layer_impl_tree_root,
host_->active_tree());
- TreeSynchronizer::PushProperties(layer_tree_root.get(),
- layer_impl_tree_root.get());
+ TreeSynchronizer::PushProperties(layer_tree_root.get(), layer_impl_tree_root);
// Check that the property values we set on the Layer tree are reflected in
// the LayerImpl tree.
@@ -369,28 +360,26 @@ TEST_F(TreeSynchronizerTest, ReuseLayerImplsAfterStructuralChange) {
MockLayer::Create(&layer_impl_destruction_list);
layer_tree_root->AddChild(MockLayer::Create(&layer_impl_destruction_list));
- scoped_refptr<Layer> layer_a = layer_tree_root->children()[0].get();
+ scoped_refptr<Layer> layer_a = layer_tree_root->children()[0];
layer_a->AddChild(MockLayer::Create(&layer_impl_destruction_list));
- scoped_refptr<Layer> layer_b = layer_a->children()[0].get();
+ scoped_refptr<Layer> layer_b = layer_a->children()[0];
layer_b->AddChild(MockLayer::Create(&layer_impl_destruction_list));
- scoped_refptr<Layer> layer_c = layer_b->children()[0].get();
+ scoped_refptr<Layer> layer_c = layer_b->children()[0];
layer_b->AddChild(MockLayer::Create(&layer_impl_destruction_list));
- scoped_refptr<Layer> layer_d = layer_b->children()[1].get();
+ scoped_refptr<Layer> layer_d = layer_b->children()[1];
host_->SetRootLayer(layer_tree_root);
- scoped_ptr<LayerImpl> layer_impl_tree_root =
- TreeSynchronizer::SynchronizeTrees(
- layer_tree_root.get(), nullptr, host_->active_tree());
- ExpectTreesAreIdentical(layer_tree_root.get(),
- layer_impl_tree_root.get(),
+ TreeSynchronizer::SynchronizeTrees(layer_tree_root.get(),
+ host_->active_tree());
+ LayerImpl* layer_impl_tree_root = host_->active_tree()->root_layer();
+ ExpectTreesAreIdentical(layer_tree_root.get(), layer_impl_tree_root,
host_->active_tree());
// We have to push properties to pick up the destruction list pointer.
- TreeSynchronizer::PushProperties(layer_tree_root.get(),
- layer_impl_tree_root.get());
+ TreeSynchronizer::PushProperties(layer_tree_root.get(), layer_impl_tree_root);
// Now restructure the tree to look like this:
// root --- D ---+--- A
@@ -408,14 +397,15 @@ TEST_F(TreeSynchronizerTest, ReuseLayerImplsAfterStructuralChange) {
// After another synchronize our trees should match and we should not have
// destroyed any LayerImpls
- layer_impl_tree_root = TreeSynchronizer::SynchronizeTrees(
- layer_tree_root.get(), std::move(layer_impl_tree_root),
- host_->active_tree());
- ExpectTreesAreIdentical(layer_tree_root.get(),
- layer_impl_tree_root.get(),
+ TreeSynchronizer::SynchronizeTrees(layer_tree_root.get(),
+ host_->active_tree());
+ layer_impl_tree_root = host_->active_tree()->root_layer();
+ ExpectTreesAreIdentical(layer_tree_root.get(), layer_impl_tree_root,
host_->active_tree());
EXPECT_EQ(0u, layer_impl_destruction_list.size());
+
+ host_->active_tree()->ClearLayers();
}
// Constructs a very simple tree, synchronizes it, then synchronizes to a
@@ -436,16 +426,15 @@ TEST_F(TreeSynchronizerTest, SyncSimpleTreeThenDestroy) {
int old_tree_first_child_layer_id = old_layer_tree_root->children()[0]->id();
int old_tree_second_child_layer_id = old_layer_tree_root->children()[1]->id();
- scoped_ptr<LayerImpl> layer_impl_tree_root =
- TreeSynchronizer::SynchronizeTrees(
- old_layer_tree_root.get(), nullptr, host_->active_tree());
- ExpectTreesAreIdentical(old_layer_tree_root.get(),
- layer_impl_tree_root.get(),
+ TreeSynchronizer::SynchronizeTrees(old_layer_tree_root.get(),
+ host_->active_tree());
+ LayerImpl* layer_impl_tree_root = host_->active_tree()->root_layer();
+ ExpectTreesAreIdentical(old_layer_tree_root.get(), layer_impl_tree_root,
host_->active_tree());
// We have to push properties to pick up the destruction list pointer.
TreeSynchronizer::PushProperties(old_layer_tree_root.get(),
- layer_impl_tree_root.get());
+ layer_impl_tree_root);
// Remove all children on the Layer side.
old_layer_tree_root->RemoveAllChildren();
@@ -454,11 +443,11 @@ TEST_F(TreeSynchronizerTest, SyncSimpleTreeThenDestroy) {
// be deleted.
scoped_refptr<Layer> new_layer_tree_root = Layer::Create();
host_->SetRootLayer(new_layer_tree_root);
- layer_impl_tree_root = TreeSynchronizer::SynchronizeTrees(
- new_layer_tree_root.get(), std::move(layer_impl_tree_root),
- host_->active_tree());
- ExpectTreesAreIdentical(new_layer_tree_root.get(),
- layer_impl_tree_root.get(),
+
+ TreeSynchronizer::SynchronizeTrees(new_layer_tree_root.get(),
+ host_->active_tree());
+ layer_impl_tree_root = host_->active_tree()->root_layer();
+ ExpectTreesAreIdentical(new_layer_tree_root.get(), layer_impl_tree_root,
host_->active_tree());
ASSERT_EQ(3u, layer_impl_destruction_list.size());
@@ -496,55 +485,53 @@ TEST_F(TreeSynchronizerTest, SyncMaskReplicaAndReplicaMaskLayers) {
scoped_refptr<Layer> replica_layer_with_mask = Layer::Create();
scoped_refptr<Layer> replica_mask_layer = Layer::Create();
replica_layer_with_mask->SetMaskLayer(replica_mask_layer.get());
- layer_tree_root->children()[2]->
- SetReplicaLayer(replica_layer_with_mask.get());
+ layer_tree_root->children()[2]->SetReplicaLayer(
+ replica_layer_with_mask.get());
host_->SetRootLayer(layer_tree_root);
- scoped_ptr<LayerImpl> layer_impl_tree_root =
- TreeSynchronizer::SynchronizeTrees(
- layer_tree_root.get(), nullptr, host_->active_tree());
-
- ExpectTreesAreIdentical(layer_tree_root.get(),
- layer_impl_tree_root.get(),
+ TreeSynchronizer::SynchronizeTrees(layer_tree_root.get(),
+ host_->active_tree());
+ LayerImpl* layer_impl_tree_root = host_->active_tree()->root_layer();
+ ExpectTreesAreIdentical(layer_tree_root.get(), layer_impl_tree_root,
host_->active_tree());
// Remove the mask layer.
layer_tree_root->children()[0]->SetMaskLayer(NULL);
- layer_impl_tree_root = TreeSynchronizer::SynchronizeTrees(
- layer_tree_root.get(), std::move(layer_impl_tree_root),
- host_->active_tree());
- ExpectTreesAreIdentical(layer_tree_root.get(),
- layer_impl_tree_root.get(),
+ TreeSynchronizer::SynchronizeTrees(layer_tree_root.get(),
+ host_->active_tree());
+ layer_impl_tree_root = host_->active_tree()->root_layer();
+ ExpectTreesAreIdentical(layer_tree_root.get(), layer_impl_tree_root,
host_->active_tree());
// Remove the replica layer.
layer_tree_root->children()[1]->SetReplicaLayer(NULL);
- layer_impl_tree_root = TreeSynchronizer::SynchronizeTrees(
- layer_tree_root.get(), std::move(layer_impl_tree_root),
- host_->active_tree());
- ExpectTreesAreIdentical(layer_tree_root.get(),
- layer_impl_tree_root.get(),
+ TreeSynchronizer::SynchronizeTrees(layer_tree_root.get(),
+ host_->active_tree());
+ layer_impl_tree_root = host_->active_tree()->root_layer();
+ ExpectTreesAreIdentical(layer_tree_root.get(), layer_impl_tree_root,
host_->active_tree());
// Remove the replica mask.
replica_layer_with_mask->SetMaskLayer(NULL);
- layer_impl_tree_root = TreeSynchronizer::SynchronizeTrees(
- layer_tree_root.get(), std::move(layer_impl_tree_root),
- host_->active_tree());
- ExpectTreesAreIdentical(layer_tree_root.get(),
- layer_impl_tree_root.get(),
+ TreeSynchronizer::SynchronizeTrees(layer_tree_root.get(),
+ host_->active_tree());
+ layer_impl_tree_root = host_->active_tree()->root_layer();
+ ExpectTreesAreIdentical(layer_tree_root.get(), layer_impl_tree_root,
host_->active_tree());
+
+ host_->active_tree()->ClearLayers();
}
TEST_F(TreeSynchronizerTest, SynchronizeScrollParent) {
LayerTreeSettings settings;
FakeImplTaskRunnerProvider task_runner_provider;
FakeRenderingStatsInstrumentation stats_instrumentation;
+ FakeLayerTreeHostImplClient impl_client;
TestSharedBitmapManager shared_bitmap_manager;
TestTaskGraphRunner task_graph_runner;
scoped_ptr<LayerTreeHostImpl> host_impl = LayerTreeHostImpl::Create(
- settings, nullptr, &task_runner_provider, &stats_instrumentation,
+ settings, &impl_client, &task_runner_provider, &stats_instrumentation,
&shared_bitmap_manager, nullptr, &task_graph_runner, 0);
scoped_refptr<Layer> layer_tree_root = Layer::Create();
@@ -559,29 +546,25 @@ TEST_F(TreeSynchronizerTest, SynchronizeScrollParent) {
layer_tree_root->children()[1]->SetScrollParent(scroll_parent.get());
layer_tree_root->children()[2]->SetScrollParent(scroll_parent.get());
- scoped_ptr<LayerImpl> layer_impl_tree_root =
- TreeSynchronizer::SynchronizeTrees(
- layer_tree_root.get(), nullptr, host_impl->active_tree());
- TreeSynchronizer::PushProperties(layer_tree_root.get(),
- layer_impl_tree_root.get());
+ TreeSynchronizer::SynchronizeTrees(layer_tree_root.get(),
+ host_impl->active_tree());
+ LayerImpl* layer_impl_tree_root = host_impl->active_tree()->root_layer();
+ TreeSynchronizer::PushProperties(layer_tree_root.get(), layer_impl_tree_root);
{
SCOPED_TRACE("case one");
- ExpectTreesAreIdentical(layer_tree_root.get(),
- layer_impl_tree_root.get(),
+ ExpectTreesAreIdentical(layer_tree_root.get(), layer_impl_tree_root,
host_impl->active_tree());
}
// Remove the first scroll child.
layer_tree_root->children()[1]->RemoveFromParent();
- layer_impl_tree_root = TreeSynchronizer::SynchronizeTrees(
- layer_tree_root.get(), std::move(layer_impl_tree_root),
- host_impl->active_tree());
- TreeSynchronizer::PushProperties(layer_tree_root.get(),
- layer_impl_tree_root.get());
+ TreeSynchronizer::SynchronizeTrees(layer_tree_root.get(),
+ host_impl->active_tree());
+ layer_impl_tree_root = host_impl->active_tree()->root_layer();
+ TreeSynchronizer::PushProperties(layer_tree_root.get(), layer_impl_tree_root);
{
SCOPED_TRACE("case two");
- ExpectTreesAreIdentical(layer_tree_root.get(),
- layer_impl_tree_root.get(),
+ ExpectTreesAreIdentical(layer_tree_root.get(), layer_impl_tree_root,
host_impl->active_tree());
}
@@ -589,15 +572,13 @@ TEST_F(TreeSynchronizerTest, SynchronizeScrollParent) {
scoped_refptr<Layer> additional_scroll_child = Layer::Create();
layer_tree_root->AddChild(additional_scroll_child);
additional_scroll_child->SetScrollParent(scroll_parent.get());
- layer_impl_tree_root = TreeSynchronizer::SynchronizeTrees(
- layer_tree_root.get(), std::move(layer_impl_tree_root),
- host_impl->active_tree());
- TreeSynchronizer::PushProperties(layer_tree_root.get(),
- layer_impl_tree_root.get());
+ TreeSynchronizer::SynchronizeTrees(layer_tree_root.get(),
+ host_impl->active_tree());
+ layer_impl_tree_root = host_impl->active_tree()->root_layer();
+ TreeSynchronizer::PushProperties(layer_tree_root.get(), layer_impl_tree_root);
{
SCOPED_TRACE("case three");
- ExpectTreesAreIdentical(layer_tree_root.get(),
- layer_impl_tree_root.get(),
+ ExpectTreesAreIdentical(layer_tree_root.get(), layer_impl_tree_root,
host_impl->active_tree());
}
}
@@ -606,10 +587,11 @@ TEST_F(TreeSynchronizerTest, SynchronizeClipParent) {
LayerTreeSettings settings;
FakeImplTaskRunnerProvider task_runner_provider;
FakeRenderingStatsInstrumentation stats_instrumentation;
+ FakeLayerTreeHostImplClient impl_client;
TestSharedBitmapManager shared_bitmap_manager;
TestTaskGraphRunner task_graph_runner;
scoped_ptr<LayerTreeHostImpl> host_impl = LayerTreeHostImpl::Create(
- settings, nullptr, &task_runner_provider, &stats_instrumentation,
+ settings, &impl_client, &task_runner_provider, &stats_instrumentation,
&shared_bitmap_manager, nullptr, &task_graph_runner, 0);
scoped_refptr<Layer> layer_tree_root = Layer::Create();
@@ -628,51 +610,44 @@ TEST_F(TreeSynchronizerTest, SynchronizeClipParent) {
clip_child1->SetClipParent(clip_parent.get());
clip_child2->SetClipParent(clip_parent.get());
- scoped_ptr<LayerImpl> layer_impl_tree_root =
- TreeSynchronizer::SynchronizeTrees(
- layer_tree_root.get(), nullptr, host_impl->active_tree());
- TreeSynchronizer::PushProperties(layer_tree_root.get(),
- layer_impl_tree_root.get());
- ExpectTreesAreIdentical(layer_tree_root.get(),
- layer_impl_tree_root.get(),
+ TreeSynchronizer::SynchronizeTrees(layer_tree_root.get(),
+ host_impl->active_tree());
+ LayerImpl* layer_impl_tree_root = host_impl->active_tree()->root_layer();
+ TreeSynchronizer::PushProperties(layer_tree_root.get(), layer_impl_tree_root);
+
+ ExpectTreesAreIdentical(layer_tree_root.get(), layer_impl_tree_root,
host_impl->active_tree());
// Remove the first clip child.
clip_child1->RemoveFromParent();
clip_child1 = NULL;
- layer_impl_tree_root = TreeSynchronizer::SynchronizeTrees(
- layer_tree_root.get(), std::move(layer_impl_tree_root),
- host_impl->active_tree());
- TreeSynchronizer::PushProperties(layer_tree_root.get(),
- layer_impl_tree_root.get());
- ExpectTreesAreIdentical(layer_tree_root.get(),
- layer_impl_tree_root.get(),
+ TreeSynchronizer::SynchronizeTrees(layer_tree_root.get(),
+ host_impl->active_tree());
+ layer_impl_tree_root = host_impl->active_tree()->root_layer();
+ TreeSynchronizer::PushProperties(layer_tree_root.get(), layer_impl_tree_root);
+ ExpectTreesAreIdentical(layer_tree_root.get(), layer_impl_tree_root,
host_impl->active_tree());
// Add an additional clip child.
scoped_refptr<Layer> additional_clip_child = Layer::Create();
intervening->AddChild(additional_clip_child);
additional_clip_child->SetClipParent(clip_parent.get());
- layer_impl_tree_root = TreeSynchronizer::SynchronizeTrees(
- layer_tree_root.get(), std::move(layer_impl_tree_root),
- host_impl->active_tree());
- TreeSynchronizer::PushProperties(layer_tree_root.get(),
- layer_impl_tree_root.get());
- ExpectTreesAreIdentical(layer_tree_root.get(),
- layer_impl_tree_root.get(),
+ TreeSynchronizer::SynchronizeTrees(layer_tree_root.get(),
+ host_impl->active_tree());
+ layer_impl_tree_root = host_impl->active_tree()->root_layer();
+ TreeSynchronizer::PushProperties(layer_tree_root.get(), layer_impl_tree_root);
+ ExpectTreesAreIdentical(layer_tree_root.get(), layer_impl_tree_root,
host_impl->active_tree());
// Remove the nearest clipping ancestor.
clip_parent->RemoveFromParent();
clip_parent = NULL;
- layer_impl_tree_root = TreeSynchronizer::SynchronizeTrees(
- layer_tree_root.get(), std::move(layer_impl_tree_root),
- host_impl->active_tree());
- TreeSynchronizer::PushProperties(layer_tree_root.get(),
- layer_impl_tree_root.get());
- ExpectTreesAreIdentical(layer_tree_root.get(),
- layer_impl_tree_root.get(),
+ TreeSynchronizer::SynchronizeTrees(layer_tree_root.get(),
+ host_impl->active_tree());
+ layer_impl_tree_root = host_impl->active_tree()->root_layer();
+ TreeSynchronizer::PushProperties(layer_tree_root.get(), layer_impl_tree_root);
+ ExpectTreesAreIdentical(layer_tree_root.get(), layer_impl_tree_root,
host_impl->active_tree());
// The clip children should have been unhooked.
« cc/trees/layer_tree_impl.cc ('K') | « cc/trees/tree_synchronizer.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698