OLD | NEW |
1 // Copyright 2011 The Chromium Authors. All rights reserved. | 1 // Copyright 2011 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "cc/layers/layer.h" | 5 #include "cc/layers/layer.h" |
6 | 6 |
7 #include "cc/animation/keyframed_animation_curve.h" | 7 #include "cc/animation/keyframed_animation_curve.h" |
8 #include "cc/base/math_util.h" | 8 #include "cc/base/math_util.h" |
9 #include "cc/layers/layer_impl.h" | 9 #include "cc/layers/layer_impl.h" |
10 #include "cc/resources/layer_painter.h" | 10 #include "cc/resources/layer_painter.h" |
(...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
160 scoped_refptr<Layer> child = Layer::Create(); | 160 scoped_refptr<Layer> child = Layer::Create(); |
161 | 161 |
162 // Upon creation, layers should not have children or parent. | 162 // Upon creation, layers should not have children or parent. |
163 ASSERT_EQ(0U, parent->children().size()); | 163 ASSERT_EQ(0U, parent->children().size()); |
164 EXPECT_FALSE(child->parent()); | 164 EXPECT_FALSE(child->parent()); |
165 | 165 |
166 EXPECT_SET_NEEDS_FULL_TREE_SYNC(1, layer_tree_host_->SetRootLayer(parent)); | 166 EXPECT_SET_NEEDS_FULL_TREE_SYNC(1, layer_tree_host_->SetRootLayer(parent)); |
167 EXPECT_SET_NEEDS_FULL_TREE_SYNC(1, parent->AddChild(child)); | 167 EXPECT_SET_NEEDS_FULL_TREE_SYNC(1, parent->AddChild(child)); |
168 | 168 |
169 ASSERT_EQ(1U, parent->children().size()); | 169 ASSERT_EQ(1U, parent->children().size()); |
170 EXPECT_EQ(child.get(), parent->children()[0]); | 170 EXPECT_EQ(child.get(), parent->children()[0].get()); |
171 EXPECT_EQ(parent.get(), child->parent()); | 171 EXPECT_EQ(parent.get(), child->parent()); |
172 EXPECT_EQ(parent.get(), child->RootLayer()); | 172 EXPECT_EQ(parent.get(), child->RootLayer()); |
173 | 173 |
174 EXPECT_SET_NEEDS_FULL_TREE_SYNC(AtLeast(1), child->RemoveFromParent()); | 174 EXPECT_SET_NEEDS_FULL_TREE_SYNC(AtLeast(1), child->RemoveFromParent()); |
175 } | 175 } |
176 | 176 |
177 TEST_F(LayerTest, AddSameChildTwice) { | 177 TEST_F(LayerTest, AddSameChildTwice) { |
178 EXPECT_CALL(*layer_tree_host_, SetNeedsFullTreeSync()).Times(AtLeast(1)); | 178 EXPECT_CALL(*layer_tree_host_, SetNeedsFullTreeSync()).Times(AtLeast(1)); |
179 | 179 |
180 scoped_refptr<Layer> parent = Layer::Create(); | 180 scoped_refptr<Layer> parent = Layer::Create(); |
(...skipping 204 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
385 | 385 |
386 ASSERT_EQ(2U, new_parent->children().size()); | 386 ASSERT_EQ(2U, new_parent->children().size()); |
387 EXPECT_EQ(new_parent.get(), child1->parent()); | 387 EXPECT_EQ(new_parent.get(), child1->parent()); |
388 EXPECT_EQ(new_parent.get(), child2->parent()); | 388 EXPECT_EQ(new_parent.get(), child2->parent()); |
389 | 389 |
390 EXPECT_SET_NEEDS_FULL_TREE_SYNC(1, layer_tree_host_->SetRootLayer(NULL)); | 390 EXPECT_SET_NEEDS_FULL_TREE_SYNC(1, layer_tree_host_->SetRootLayer(NULL)); |
391 } | 391 } |
392 | 392 |
393 TEST_F(LayerTest, HasAncestor) { | 393 TEST_F(LayerTest, HasAncestor) { |
394 scoped_refptr<Layer> parent = Layer::Create(); | 394 scoped_refptr<Layer> parent = Layer::Create(); |
395 EXPECT_FALSE(parent->HasAncestor(parent)); | 395 EXPECT_FALSE(parent->HasAncestor(parent.get())); |
396 | 396 |
397 scoped_refptr<Layer> child = Layer::Create(); | 397 scoped_refptr<Layer> child = Layer::Create(); |
398 parent->AddChild(child); | 398 parent->AddChild(child); |
399 | 399 |
400 EXPECT_FALSE(child->HasAncestor(child)); | 400 EXPECT_FALSE(child->HasAncestor(child.get())); |
401 EXPECT_TRUE(child->HasAncestor(parent)); | 401 EXPECT_TRUE(child->HasAncestor(parent.get())); |
402 EXPECT_FALSE(parent->HasAncestor(child)); | 402 EXPECT_FALSE(parent->HasAncestor(child.get())); |
403 | 403 |
404 scoped_refptr<Layer> child_child = Layer::Create(); | 404 scoped_refptr<Layer> child_child = Layer::Create(); |
405 child->AddChild(child_child); | 405 child->AddChild(child_child); |
406 | 406 |
407 EXPECT_FALSE(child_child->HasAncestor(child_child)); | 407 EXPECT_FALSE(child_child->HasAncestor(child_child.get())); |
408 EXPECT_TRUE(child_child->HasAncestor(parent)); | 408 EXPECT_TRUE(child_child->HasAncestor(parent.get())); |
409 EXPECT_TRUE(child_child->HasAncestor(child)); | 409 EXPECT_TRUE(child_child->HasAncestor(child.get())); |
410 EXPECT_FALSE(parent->HasAncestor(child)); | 410 EXPECT_FALSE(parent->HasAncestor(child.get())); |
411 EXPECT_FALSE(parent->HasAncestor(child_child)); | 411 EXPECT_FALSE(parent->HasAncestor(child_child.get())); |
412 } | 412 } |
413 | 413 |
414 TEST_F(LayerTest, GetRootLayerAfterTreeManipulations) { | 414 TEST_F(LayerTest, GetRootLayerAfterTreeManipulations) { |
415 CreateSimpleTestTree(); | 415 CreateSimpleTestTree(); |
416 | 416 |
417 // For this test we don't care about SetNeedsFullTreeSync calls. | 417 // For this test we don't care about SetNeedsFullTreeSync calls. |
418 EXPECT_CALL(*layer_tree_host_, SetNeedsFullTreeSync()).Times(AnyNumber()); | 418 EXPECT_CALL(*layer_tree_host_, SetNeedsFullTreeSync()).Times(AnyNumber()); |
419 | 419 |
420 scoped_refptr<Layer> child4 = Layer::Create(); | 420 scoped_refptr<Layer> child4 = Layer::Create(); |
421 | 421 |
(...skipping 353 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
775 scoped_refptr<Layer> replica_mask = Layer::Create(); | 775 scoped_refptr<Layer> replica_mask = Layer::Create(); |
776 scoped_refptr<Layer> mask_replacement = Layer::Create(); | 776 scoped_refptr<Layer> mask_replacement = Layer::Create(); |
777 scoped_refptr<Layer> replica_replacement = Layer::Create(); | 777 scoped_refptr<Layer> replica_replacement = Layer::Create(); |
778 scoped_refptr<Layer> replica_mask_replacement = Layer::Create(); | 778 scoped_refptr<Layer> replica_mask_replacement = Layer::Create(); |
779 | 779 |
780 parent->AddChild(child); | 780 parent->AddChild(child); |
781 child->SetMaskLayer(mask.get()); | 781 child->SetMaskLayer(mask.get()); |
782 child->SetReplicaLayer(replica.get()); | 782 child->SetReplicaLayer(replica.get()); |
783 replica->SetMaskLayer(replica_mask.get()); | 783 replica->SetMaskLayer(replica_mask.get()); |
784 | 784 |
785 EXPECT_EQ(parent, child->parent()); | 785 EXPECT_EQ(parent.get(), child->parent()); |
786 EXPECT_EQ(child, mask->parent()); | 786 EXPECT_EQ(child.get(), mask->parent()); |
787 EXPECT_EQ(child, replica->parent()); | 787 EXPECT_EQ(child.get(), replica->parent()); |
788 EXPECT_EQ(replica, replica_mask->parent()); | 788 EXPECT_EQ(replica.get(), replica_mask->parent()); |
789 | 789 |
790 replica->SetMaskLayer(replica_mask_replacement.get()); | 790 replica->SetMaskLayer(replica_mask_replacement.get()); |
791 EXPECT_EQ(NULL, replica_mask->parent()); | 791 EXPECT_EQ(NULL, replica_mask->parent()); |
792 EXPECT_EQ(replica, replica_mask_replacement->parent()); | 792 EXPECT_EQ(replica.get(), replica_mask_replacement->parent()); |
793 | 793 |
794 child->SetMaskLayer(mask_replacement.get()); | 794 child->SetMaskLayer(mask_replacement.get()); |
795 EXPECT_EQ(NULL, mask->parent()); | 795 EXPECT_EQ(NULL, mask->parent()); |
796 EXPECT_EQ(child, mask_replacement->parent()); | 796 EXPECT_EQ(child.get(), mask_replacement->parent()); |
797 | 797 |
798 child->SetReplicaLayer(replica_replacement.get()); | 798 child->SetReplicaLayer(replica_replacement.get()); |
799 EXPECT_EQ(NULL, replica->parent()); | 799 EXPECT_EQ(NULL, replica->parent()); |
800 EXPECT_EQ(child, replica_replacement->parent()); | 800 EXPECT_EQ(child.get(), replica_replacement->parent()); |
801 | 801 |
802 EXPECT_EQ(replica, replica->mask_layer()->parent()); | 802 EXPECT_EQ(replica.get(), replica->mask_layer()->parent()); |
803 } | 803 } |
804 | 804 |
805 TEST_F(LayerTest, CheckTranformIsInvertible) { | 805 TEST_F(LayerTest, CheckTranformIsInvertible) { |
806 scoped_refptr<Layer> layer = Layer::Create(); | 806 scoped_refptr<Layer> layer = Layer::Create(); |
807 scoped_ptr<LayerImpl> impl_layer = | 807 scoped_ptr<LayerImpl> impl_layer = |
808 LayerImpl::Create(host_impl_.active_tree(), 1); | 808 LayerImpl::Create(host_impl_.active_tree(), 1); |
809 EXPECT_CALL(*layer_tree_host_, SetNeedsFullTreeSync()).Times(1); | 809 EXPECT_CALL(*layer_tree_host_, SetNeedsFullTreeSync()).Times(1); |
810 EXPECT_CALL(*layer_tree_host_, SetNeedsCommit()).Times(AnyNumber()); | 810 EXPECT_CALL(*layer_tree_host_, SetNeedsCommit()).Times(AnyNumber()); |
811 layer_tree_host_->SetRootLayer(layer); | 811 layer_tree_host_->SetRootLayer(layer); |
812 | 812 |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
849 | 849 |
850 layer->SetTransform(singular_transform); | 850 layer->SetTransform(singular_transform); |
851 layer->PushPropertiesTo(impl_layer.get()); | 851 layer->PushPropertiesTo(impl_layer.get()); |
852 | 852 |
853 EXPECT_FALSE(layer->transform_is_invertible()); | 853 EXPECT_FALSE(layer->transform_is_invertible()); |
854 EXPECT_FALSE(impl_layer->transform_is_invertible()); | 854 EXPECT_FALSE(impl_layer->transform_is_invertible()); |
855 | 855 |
856 gfx::Transform identity_transform; | 856 gfx::Transform identity_transform; |
857 | 857 |
858 layer->SetTransform(identity_transform); | 858 layer->SetTransform(identity_transform); |
859 static_cast<LayerAnimationValueObserver*>(layer) | 859 static_cast<LayerAnimationValueObserver*>(layer.get()) |
860 ->OnTransformAnimated(singular_transform); | 860 ->OnTransformAnimated(singular_transform); |
861 layer->PushPropertiesTo(impl_layer.get()); | 861 layer->PushPropertiesTo(impl_layer.get()); |
862 EXPECT_FALSE(layer->transform_is_invertible()); | 862 EXPECT_FALSE(layer->transform_is_invertible()); |
863 EXPECT_FALSE(impl_layer->transform_is_invertible()); | 863 EXPECT_FALSE(impl_layer->transform_is_invertible()); |
864 | 864 |
865 Mock::VerifyAndClearExpectations(layer_tree_host_.get()); | 865 Mock::VerifyAndClearExpectations(layer_tree_host_.get()); |
866 } | 866 } |
867 | 867 |
868 class LayerTreeHostFactory { | 868 class LayerTreeHostFactory { |
869 public: | 869 public: |
(...skipping 321 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1191 root_layer->AddChild(becomes_not_draws_content); | 1191 root_layer->AddChild(becomes_not_draws_content); |
1192 EXPECT_EQ(0, root_layer->NumDescendantsThatDrawContent()); | 1192 EXPECT_EQ(0, root_layer->NumDescendantsThatDrawContent()); |
1193 | 1193 |
1194 becomes_draws_content->SetIsDrawable(true); | 1194 becomes_draws_content->SetIsDrawable(true); |
1195 root_layer->AddChild(becomes_draws_content); | 1195 root_layer->AddChild(becomes_draws_content); |
1196 EXPECT_EQ(1, root_layer->NumDescendantsThatDrawContent()); | 1196 EXPECT_EQ(1, root_layer->NumDescendantsThatDrawContent()); |
1197 } | 1197 } |
1198 | 1198 |
1199 } // namespace | 1199 } // namespace |
1200 } // namespace cc | 1200 } // namespace cc |
OLD | NEW |