| Index: cc/trees/tree_synchronizer_unittest.cc
|
| diff --git a/cc/trees/tree_synchronizer_unittest.cc b/cc/trees/tree_synchronizer_unittest.cc
|
| index a17bec8e53be2d53d22d588543c0cfe883352258..6cf75baf5292d126318b57f3dbeb5d74e6c49228 100644
|
| --- a/cc/trees/tree_synchronizer_unittest.cc
|
| +++ b/cc/trees/tree_synchronizer_unittest.cc
|
| @@ -51,8 +51,10 @@ class MockLayerImpl : public LayerImpl {
|
| class MockLayer : public Layer {
|
| public:
|
| static scoped_refptr<MockLayer> Create(
|
| + const LayerSettings& settings,
|
| std::vector<int>* layer_impl_destruction_list) {
|
| - return make_scoped_refptr(new MockLayer(layer_impl_destruction_list));
|
| + return make_scoped_refptr(
|
| + new MockLayer(settings, layer_impl_destruction_list));
|
| }
|
|
|
| scoped_ptr<LayerImpl> CreateLayerImpl(LayerTreeImpl* tree_impl) override {
|
| @@ -67,8 +69,10 @@ class MockLayer : public Layer {
|
| }
|
|
|
| private:
|
| - explicit MockLayer(std::vector<int>* layer_impl_destruction_list)
|
| - : Layer(), layer_impl_destruction_list_(layer_impl_destruction_list) {}
|
| + explicit MockLayer(const LayerSettings& settings,
|
| + std::vector<int>* layer_impl_destruction_list)
|
| + : Layer(settings),
|
| + layer_impl_destruction_list_(layer_impl_destruction_list) {}
|
| ~MockLayer() override {}
|
|
|
| std::vector<int>* layer_impl_destruction_list_;
|
| @@ -196,6 +200,7 @@ class TreeSynchronizerTest : public testing::Test {
|
| protected:
|
| FakeLayerTreeHostClient client_;
|
| scoped_ptr<FakeLayerTreeHost> host_;
|
| + LayerSettings layer_settings_;
|
| };
|
|
|
| // Attempts to synchronizes a null tree. This should not crash, and should
|
| @@ -211,9 +216,9 @@ TEST_F(TreeSynchronizerTest, SyncNullTree) {
|
| // Constructs a very simple tree and synchronizes it without trying to reuse any
|
| // preexisting layers.
|
| TEST_F(TreeSynchronizerTest, SyncSimpleTreeFromEmpty) {
|
| - scoped_refptr<Layer> layer_tree_root = Layer::Create();
|
| - layer_tree_root->AddChild(Layer::Create());
|
| - layer_tree_root->AddChild(Layer::Create());
|
| + scoped_refptr<Layer> layer_tree_root = Layer::Create(layer_settings_);
|
| + layer_tree_root->AddChild(Layer::Create(layer_settings_));
|
| + layer_tree_root->AddChild(Layer::Create(layer_settings_));
|
|
|
| host_->SetRootLayer(layer_tree_root);
|
|
|
| @@ -232,9 +237,11 @@ TEST_F(TreeSynchronizerTest, SyncSimpleTreeReusingLayers) {
|
| std::vector<int> layer_impl_destruction_list;
|
|
|
| scoped_refptr<Layer> layer_tree_root =
|
| - MockLayer::Create(&layer_impl_destruction_list);
|
| - layer_tree_root->AddChild(MockLayer::Create(&layer_impl_destruction_list));
|
| - layer_tree_root->AddChild(MockLayer::Create(&layer_impl_destruction_list));
|
| + MockLayer::Create(layer_settings_, &layer_impl_destruction_list);
|
| + layer_tree_root->AddChild(
|
| + MockLayer::Create(layer_settings_, &layer_impl_destruction_list));
|
| + layer_tree_root->AddChild(
|
| + MockLayer::Create(layer_settings_, &layer_impl_destruction_list));
|
|
|
| host_->SetRootLayer(layer_tree_root);
|
|
|
| @@ -250,8 +257,8 @@ TEST_F(TreeSynchronizerTest, SyncSimpleTreeReusingLayers) {
|
| layer_impl_tree_root.get());
|
|
|
| // Add a new layer to the Layer side
|
| - layer_tree_root->children()[0]->
|
| - AddChild(MockLayer::Create(&layer_impl_destruction_list));
|
| + layer_tree_root->children()[0]->AddChild(
|
| + MockLayer::Create(layer_settings_, &layer_impl_destruction_list));
|
| // Remove one.
|
| layer_tree_root->children()[1]->RemoveFromParent();
|
| int second_layer_impl_id = layer_impl_tree_root->children()[1]->id();
|
| @@ -278,9 +285,11 @@ TEST_F(TreeSynchronizerTest, SyncSimpleTreeAndTrackStackingOrderChange) {
|
| // Set up the tree and sync once. child2 needs to be synced here, too, even
|
| // though we remove it to set up the intended scenario.
|
| scoped_refptr<Layer> layer_tree_root =
|
| - MockLayer::Create(&layer_impl_destruction_list);
|
| - scoped_refptr<Layer> child2 = MockLayer::Create(&layer_impl_destruction_list);
|
| - layer_tree_root->AddChild(MockLayer::Create(&layer_impl_destruction_list));
|
| + MockLayer::Create(layer_settings_, &layer_impl_destruction_list);
|
| + scoped_refptr<Layer> child2 =
|
| + MockLayer::Create(layer_settings_, &layer_impl_destruction_list);
|
| + layer_tree_root->AddChild(
|
| + MockLayer::Create(layer_settings_, &layer_impl_destruction_list));
|
| layer_tree_root->AddChild(child2);
|
|
|
| host_->SetRootLayer(layer_tree_root);
|
| @@ -319,9 +328,9 @@ TEST_F(TreeSynchronizerTest, SyncSimpleTreeAndTrackStackingOrderChange) {
|
| }
|
|
|
| TEST_F(TreeSynchronizerTest, SyncSimpleTreeAndProperties) {
|
| - scoped_refptr<Layer> layer_tree_root = Layer::Create();
|
| - layer_tree_root->AddChild(Layer::Create());
|
| - layer_tree_root->AddChild(Layer::Create());
|
| + scoped_refptr<Layer> layer_tree_root = Layer::Create(layer_settings_);
|
| + layer_tree_root->AddChild(Layer::Create(layer_settings_));
|
| + layer_tree_root->AddChild(Layer::Create(layer_settings_));
|
|
|
| host_->SetRootLayer(layer_tree_root);
|
|
|
| @@ -372,17 +381,21 @@ TEST_F(TreeSynchronizerTest, ReuseLayerImplsAfterStructuralChange) {
|
| // |
|
| // +--- D
|
| scoped_refptr<Layer> layer_tree_root =
|
| - MockLayer::Create(&layer_impl_destruction_list);
|
| - layer_tree_root->AddChild(MockLayer::Create(&layer_impl_destruction_list));
|
| + MockLayer::Create(layer_settings_, &layer_impl_destruction_list);
|
| + layer_tree_root->AddChild(
|
| + MockLayer::Create(layer_settings_, &layer_impl_destruction_list));
|
|
|
| scoped_refptr<Layer> layer_a = layer_tree_root->children()[0].get();
|
| - layer_a->AddChild(MockLayer::Create(&layer_impl_destruction_list));
|
| + layer_a->AddChild(
|
| + MockLayer::Create(layer_settings_, &layer_impl_destruction_list));
|
|
|
| scoped_refptr<Layer> layer_b = layer_a->children()[0].get();
|
| - layer_b->AddChild(MockLayer::Create(&layer_impl_destruction_list));
|
| + layer_b->AddChild(
|
| + MockLayer::Create(layer_settings_, &layer_impl_destruction_list));
|
|
|
| scoped_refptr<Layer> layer_c = layer_b->children()[0].get();
|
| - layer_b->AddChild(MockLayer::Create(&layer_impl_destruction_list));
|
| + layer_b->AddChild(
|
| + MockLayer::Create(layer_settings_, &layer_impl_destruction_list));
|
| scoped_refptr<Layer> layer_d = layer_b->children()[1].get();
|
|
|
| host_->SetRootLayer(layer_tree_root);
|
| @@ -431,11 +444,11 @@ TEST_F(TreeSynchronizerTest, SyncSimpleTreeThenDestroy) {
|
| std::vector<int> layer_impl_destruction_list;
|
|
|
| scoped_refptr<Layer> old_layer_tree_root =
|
| - MockLayer::Create(&layer_impl_destruction_list);
|
| + MockLayer::Create(layer_settings_, &layer_impl_destruction_list);
|
| old_layer_tree_root->AddChild(
|
| - MockLayer::Create(&layer_impl_destruction_list));
|
| + MockLayer::Create(layer_settings_, &layer_impl_destruction_list));
|
| old_layer_tree_root->AddChild(
|
| - MockLayer::Create(&layer_impl_destruction_list));
|
| + MockLayer::Create(layer_settings_, &layer_impl_destruction_list));
|
|
|
| host_->SetRootLayer(old_layer_tree_root);
|
|
|
| @@ -459,7 +472,7 @@ TEST_F(TreeSynchronizerTest, SyncSimpleTreeThenDestroy) {
|
|
|
| // Synchronize again. After the sync all LayerImpls from the old tree should
|
| // be deleted.
|
| - scoped_refptr<Layer> new_layer_tree_root = Layer::Create();
|
| + scoped_refptr<Layer> new_layer_tree_root = Layer::Create(layer_settings_);
|
| host_->SetRootLayer(new_layer_tree_root);
|
| layer_impl_tree_root =
|
| TreeSynchronizer::SynchronizeTrees(new_layer_tree_root.get(),
|
| @@ -487,22 +500,22 @@ TEST_F(TreeSynchronizerTest, SyncSimpleTreeThenDestroy) {
|
|
|
| // Constructs+syncs a tree with mask, replica, and replica mask layers.
|
| TEST_F(TreeSynchronizerTest, SyncMaskReplicaAndReplicaMaskLayers) {
|
| - scoped_refptr<Layer> layer_tree_root = Layer::Create();
|
| - layer_tree_root->AddChild(Layer::Create());
|
| - layer_tree_root->AddChild(Layer::Create());
|
| - layer_tree_root->AddChild(Layer::Create());
|
| + scoped_refptr<Layer> layer_tree_root = Layer::Create(layer_settings_);
|
| + layer_tree_root->AddChild(Layer::Create(layer_settings_));
|
| + layer_tree_root->AddChild(Layer::Create(layer_settings_));
|
| + layer_tree_root->AddChild(Layer::Create(layer_settings_));
|
|
|
| // First child gets a mask layer.
|
| - scoped_refptr<Layer> mask_layer = Layer::Create();
|
| + scoped_refptr<Layer> mask_layer = Layer::Create(layer_settings_);
|
| layer_tree_root->children()[0]->SetMaskLayer(mask_layer.get());
|
|
|
| // Second child gets a replica layer.
|
| - scoped_refptr<Layer> replica_layer = Layer::Create();
|
| + scoped_refptr<Layer> replica_layer = Layer::Create(layer_settings_);
|
| layer_tree_root->children()[1]->SetReplicaLayer(replica_layer.get());
|
|
|
| // Third child gets a replica layer with a mask layer.
|
| - scoped_refptr<Layer> replica_layer_with_mask = Layer::Create();
|
| - scoped_refptr<Layer> replica_mask_layer = Layer::Create();
|
| + scoped_refptr<Layer> replica_layer_with_mask = Layer::Create(layer_settings_);
|
| + scoped_refptr<Layer> replica_mask_layer = Layer::Create(layer_settings_);
|
| replica_layer_with_mask->SetMaskLayer(replica_mask_layer.get());
|
| layer_tree_root->children()[2]->
|
| SetReplicaLayer(replica_layer_with_mask.get());
|
| @@ -559,7 +572,7 @@ TEST_F(TreeSynchronizerTest, SynchronizeAnimations) {
|
| LayerTreeHostImpl::Create(settings, NULL, &proxy, &stats_instrumentation,
|
| shared_bitmap_manager.get(), NULL, NULL, 0);
|
|
|
| - scoped_refptr<Layer> layer_tree_root = Layer::Create();
|
| + scoped_refptr<Layer> layer_tree_root = Layer::Create(layer_settings_);
|
| host_->SetRootLayer(layer_tree_root);
|
|
|
| layer_tree_root->SetLayerAnimationControllerForTest(
|
| @@ -593,11 +606,11 @@ TEST_F(TreeSynchronizerTest, SynchronizeScrollParent) {
|
| LayerTreeHostImpl::Create(settings, NULL, &proxy, &stats_instrumentation,
|
| shared_bitmap_manager.get(), NULL, NULL, 0);
|
|
|
| - scoped_refptr<Layer> layer_tree_root = Layer::Create();
|
| - scoped_refptr<Layer> scroll_parent = Layer::Create();
|
| + scoped_refptr<Layer> layer_tree_root = Layer::Create(layer_settings_);
|
| + scoped_refptr<Layer> scroll_parent = Layer::Create(layer_settings_);
|
| layer_tree_root->AddChild(scroll_parent);
|
| - layer_tree_root->AddChild(Layer::Create());
|
| - layer_tree_root->AddChild(Layer::Create());
|
| + layer_tree_root->AddChild(Layer::Create(layer_settings_));
|
| + layer_tree_root->AddChild(Layer::Create(layer_settings_));
|
|
|
| host_->SetRootLayer(layer_tree_root);
|
|
|
| @@ -633,7 +646,7 @@ TEST_F(TreeSynchronizerTest, SynchronizeScrollParent) {
|
| }
|
|
|
| // Add an additional scroll layer.
|
| - scoped_refptr<Layer> additional_scroll_child = Layer::Create();
|
| + scoped_refptr<Layer> additional_scroll_child = Layer::Create(layer_settings_);
|
| layer_tree_root->AddChild(additional_scroll_child);
|
| additional_scroll_child->SetScrollParent(scroll_parent.get());
|
| layer_impl_tree_root =
|
| @@ -661,11 +674,11 @@ TEST_F(TreeSynchronizerTest, SynchronizeClipParent) {
|
| LayerTreeHostImpl::Create(settings, NULL, &proxy, &stats_instrumentation,
|
| shared_bitmap_manager.get(), NULL, NULL, 0);
|
|
|
| - scoped_refptr<Layer> layer_tree_root = Layer::Create();
|
| - scoped_refptr<Layer> clip_parent = Layer::Create();
|
| - scoped_refptr<Layer> intervening = Layer::Create();
|
| - scoped_refptr<Layer> clip_child1 = Layer::Create();
|
| - scoped_refptr<Layer> clip_child2 = Layer::Create();
|
| + scoped_refptr<Layer> layer_tree_root = Layer::Create(layer_settings_);
|
| + scoped_refptr<Layer> clip_parent = Layer::Create(layer_settings_);
|
| + scoped_refptr<Layer> intervening = Layer::Create(layer_settings_);
|
| + scoped_refptr<Layer> clip_child1 = Layer::Create(layer_settings_);
|
| + scoped_refptr<Layer> clip_child2 = Layer::Create(layer_settings_);
|
| layer_tree_root->AddChild(clip_parent);
|
| clip_parent->AddChild(intervening);
|
| intervening->AddChild(clip_child1);
|
| @@ -701,7 +714,7 @@ TEST_F(TreeSynchronizerTest, SynchronizeClipParent) {
|
| host_impl->active_tree());
|
|
|
| // Add an additional clip child.
|
| - scoped_refptr<Layer> additional_clip_child = Layer::Create();
|
| + scoped_refptr<Layer> additional_clip_child = Layer::Create(layer_settings_);
|
| intervening->AddChild(additional_clip_child);
|
| additional_clip_child->SetClipParent(clip_parent.get());
|
| layer_impl_tree_root =
|
|
|