| 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" |
| 11 #include "cc/test/animation_test_common.h" | 11 #include "cc/test/animation_test_common.h" |
| 12 #include "cc/test/fake_impl_proxy.h" | 12 #include "cc/test/fake_impl_proxy.h" |
| 13 #include "cc/test/fake_layer_tree_host_client.h" | 13 #include "cc/test/fake_layer_tree_host_client.h" |
| 14 #include "cc/test/fake_layer_tree_host_impl.h" | 14 #include "cc/test/fake_layer_tree_host_impl.h" |
| 15 #include "cc/test/geometry_test_utils.h" | 15 #include "cc/test/geometry_test_utils.h" |
| 16 #include "cc/test/layer_test_common.h" | 16 #include "cc/test/layer_test_common.h" |
| 17 #include "cc/test/test_shared_bitmap_manager.h" |
| 17 #include "cc/trees/layer_tree_host.h" | 18 #include "cc/trees/layer_tree_host.h" |
| 18 #include "cc/trees/single_thread_proxy.h" | 19 #include "cc/trees/single_thread_proxy.h" |
| 19 #include "testing/gmock/include/gmock/gmock.h" | 20 #include "testing/gmock/include/gmock/gmock.h" |
| 20 #include "testing/gtest/include/gtest/gtest.h" | 21 #include "testing/gtest/include/gtest/gtest.h" |
| 21 #include "ui/gfx/transform.h" | 22 #include "ui/gfx/transform.h" |
| 22 | 23 |
| 23 using ::testing::AnyNumber; | 24 using ::testing::AnyNumber; |
| 24 using ::testing::AtLeast; | 25 using ::testing::AtLeast; |
| 25 using ::testing::Mock; | 26 using ::testing::Mock; |
| 26 using ::testing::StrictMock; | 27 using ::testing::StrictMock; |
| (...skipping 25 matching lines...) Expand all Loading... |
| 52 public: | 53 public: |
| 53 virtual void Paint(SkCanvas* canvas, | 54 virtual void Paint(SkCanvas* canvas, |
| 54 const gfx::Rect& content_rect, | 55 const gfx::Rect& content_rect, |
| 55 gfx::RectF* opaque) OVERRIDE {} | 56 gfx::RectF* opaque) OVERRIDE {} |
| 56 }; | 57 }; |
| 57 | 58 |
| 58 | 59 |
| 59 class LayerTest : public testing::Test { | 60 class LayerTest : public testing::Test { |
| 60 public: | 61 public: |
| 61 LayerTest() | 62 LayerTest() |
| 62 : host_impl_(&proxy_), | 63 : host_impl_(&proxy_, &shared_bitmap_manager_), |
| 63 fake_client_(FakeLayerTreeHostClient::DIRECT_3D) {} | 64 fake_client_(FakeLayerTreeHostClient::DIRECT_3D) {} |
| 64 | 65 |
| 65 protected: | 66 protected: |
| 66 virtual void SetUp() OVERRIDE { | 67 virtual void SetUp() OVERRIDE { |
| 67 layer_tree_host_.reset(new StrictMock<MockLayerTreeHost>(&fake_client_)); | 68 layer_tree_host_.reset(new StrictMock<MockLayerTreeHost>(&fake_client_)); |
| 68 } | 69 } |
| 69 | 70 |
| 70 virtual void TearDown() OVERRIDE { | 71 virtual void TearDown() OVERRIDE { |
| 71 Mock::VerifyAndClearExpectations(layer_tree_host_.get()); | 72 Mock::VerifyAndClearExpectations(layer_tree_host_.get()); |
| 72 EXPECT_CALL(*layer_tree_host_, SetNeedsFullTreeSync()).Times(AnyNumber()); | 73 EXPECT_CALL(*layer_tree_host_, SetNeedsFullTreeSync()).Times(AnyNumber()); |
| (...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 122 child1_->AddChild(grand_child1_); | 123 child1_->AddChild(grand_child1_); |
| 123 child1_->AddChild(grand_child2_); | 124 child1_->AddChild(grand_child2_); |
| 124 child2_->AddChild(grand_child3_); | 125 child2_->AddChild(grand_child3_); |
| 125 | 126 |
| 126 Mock::VerifyAndClearExpectations(layer_tree_host_.get()); | 127 Mock::VerifyAndClearExpectations(layer_tree_host_.get()); |
| 127 | 128 |
| 128 VerifyTestTreeInitialState(); | 129 VerifyTestTreeInitialState(); |
| 129 } | 130 } |
| 130 | 131 |
| 131 FakeImplProxy proxy_; | 132 FakeImplProxy proxy_; |
| 133 TestSharedBitmapManager shared_bitmap_manager_; |
| 132 FakeLayerTreeHostImpl host_impl_; | 134 FakeLayerTreeHostImpl host_impl_; |
| 133 | 135 |
| 134 FakeLayerTreeHostClient fake_client_; | 136 FakeLayerTreeHostClient fake_client_; |
| 135 scoped_ptr<StrictMock<MockLayerTreeHost> > layer_tree_host_; | 137 scoped_ptr<StrictMock<MockLayerTreeHost> > layer_tree_host_; |
| 136 scoped_refptr<Layer> parent_; | 138 scoped_refptr<Layer> parent_; |
| 137 scoped_refptr<Layer> child1_; | 139 scoped_refptr<Layer> child1_; |
| 138 scoped_refptr<Layer> child2_; | 140 scoped_refptr<Layer> child2_; |
| 139 scoped_refptr<Layer> child3_; | 141 scoped_refptr<Layer> child3_; |
| 140 scoped_refptr<Layer> grand_child1_; | 142 scoped_refptr<Layer> grand_child1_; |
| 141 scoped_refptr<Layer> grand_child2_; | 143 scoped_refptr<Layer> grand_child2_; |
| (...skipping 655 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 797 child->SetReplicaLayer(replica_replacement.get()); | 799 child->SetReplicaLayer(replica_replacement.get()); |
| 798 EXPECT_EQ(NULL, replica->parent()); | 800 EXPECT_EQ(NULL, replica->parent()); |
| 799 EXPECT_EQ(child, replica_replacement->parent()); | 801 EXPECT_EQ(child, replica_replacement->parent()); |
| 800 | 802 |
| 801 EXPECT_EQ(replica, replica->mask_layer()->parent()); | 803 EXPECT_EQ(replica, replica->mask_layer()->parent()); |
| 802 } | 804 } |
| 803 | 805 |
| 804 class LayerTreeHostFactory { | 806 class LayerTreeHostFactory { |
| 805 public: | 807 public: |
| 806 LayerTreeHostFactory() | 808 LayerTreeHostFactory() |
| 807 : client_(FakeLayerTreeHostClient::DIRECT_3D) {} | 809 : client_(FakeLayerTreeHostClient::DIRECT_3D), |
| 810 shared_bitmap_manager_(new TestSharedBitmapManager()) {} |
| 808 | 811 |
| 809 scoped_ptr<LayerTreeHost> Create() { | 812 scoped_ptr<LayerTreeHost> Create() { |
| 810 return LayerTreeHost::CreateSingleThreaded(&client_, | 813 return LayerTreeHost::CreateSingleThreaded(&client_, |
| 811 &client_, | 814 &client_, |
| 812 NULL, | 815 shared_bitmap_manager_.get(), |
| 813 LayerTreeSettings()).Pass(); | 816 LayerTreeSettings()).Pass(); |
| 814 } | 817 } |
| 815 | 818 |
| 816 scoped_ptr<LayerTreeHost> Create(LayerTreeSettings settings) { | 819 scoped_ptr<LayerTreeHost> Create(LayerTreeSettings settings) { |
| 817 return LayerTreeHost::CreateSingleThreaded(&client_, | 820 return LayerTreeHost::CreateSingleThreaded( |
| 818 &client_, | 821 &client_, &client_, shared_bitmap_manager_.get(), settings) |
| 819 NULL, | 822 .Pass(); |
| 820 settings).Pass(); | |
| 821 } | 823 } |
| 822 | 824 |
| 823 private: | 825 private: |
| 824 FakeLayerTreeHostClient client_; | 826 FakeLayerTreeHostClient client_; |
| 827 scoped_ptr<SharedBitmapManager> shared_bitmap_manager_; |
| 825 }; | 828 }; |
| 826 | 829 |
| 827 void AssertLayerTreeHostMatchesForSubtree(Layer* layer, LayerTreeHost* host) { | 830 void AssertLayerTreeHostMatchesForSubtree(Layer* layer, LayerTreeHost* host) { |
| 828 EXPECT_EQ(host, layer->layer_tree_host()); | 831 EXPECT_EQ(host, layer->layer_tree_host()); |
| 829 | 832 |
| 830 for (size_t i = 0; i < layer->children().size(); ++i) | 833 for (size_t i = 0; i < layer->children().size(); ++i) |
| 831 AssertLayerTreeHostMatchesForSubtree(layer->children()[i].get(), host); | 834 AssertLayerTreeHostMatchesForSubtree(layer->children()[i].get(), host); |
| 832 | 835 |
| 833 if (layer->mask_layer()) | 836 if (layer->mask_layer()) |
| 834 AssertLayerTreeHostMatchesForSubtree(layer->mask_layer(), host); | 837 AssertLayerTreeHostMatchesForSubtree(layer->mask_layer(), host); |
| (...skipping 241 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1076 << "Flags: " << contents_opaque << ", " << layer_opaque << ", " | 1079 << "Flags: " << contents_opaque << ", " << layer_opaque << ", " |
| 1077 << host_opaque << "\n"; | 1080 << host_opaque << "\n"; |
| 1078 } | 1081 } |
| 1079 } | 1082 } |
| 1080 } | 1083 } |
| 1081 } | 1084 } |
| 1082 } | 1085 } |
| 1083 | 1086 |
| 1084 } // namespace | 1087 } // namespace |
| 1085 } // namespace cc | 1088 } // namespace cc |
| OLD | NEW |