OLD | NEW |
1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2012 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/texture_layer.h" | 5 #include "cc/layers/texture_layer.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <string> | 8 #include <string> |
9 | 9 |
10 #include "base/bind.h" | 10 #include "base/bind.h" |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
47 namespace { | 47 namespace { |
48 | 48 |
49 gpu::Mailbox MailboxFromChar(char value) { | 49 gpu::Mailbox MailboxFromChar(char value) { |
50 gpu::Mailbox mailbox; | 50 gpu::Mailbox mailbox; |
51 memset(mailbox.name, value, sizeof(mailbox.name)); | 51 memset(mailbox.name, value, sizeof(mailbox.name)); |
52 return mailbox; | 52 return mailbox; |
53 } | 53 } |
54 | 54 |
55 class MockLayerTreeHost : public LayerTreeHost { | 55 class MockLayerTreeHost : public LayerTreeHost { |
56 public: | 56 public: |
57 explicit MockLayerTreeHost(FakeLayerTreeHostClient* client) | 57 static scoped_ptr<MockLayerTreeHost> Create(FakeLayerTreeHostClient* client) { |
58 : LayerTreeHost(client, nullptr, nullptr, nullptr, LayerTreeSettings()) { | 58 LayerTreeHost::InitParams params; |
59 InitializeSingleThreaded(client, base::ThreadTaskRunnerHandle::Get(), | 59 params.client = client; |
60 nullptr); | 60 LayerTreeSettings settings; |
| 61 params.settings = &settings; |
| 62 return make_scoped_ptr(new MockLayerTreeHost(client, ¶ms)); |
61 } | 63 } |
62 | 64 |
63 MOCK_METHOD0(SetNeedsCommit, void()); | 65 MOCK_METHOD0(SetNeedsCommit, void()); |
64 MOCK_METHOD0(SetNeedsUpdateLayers, void()); | 66 MOCK_METHOD0(SetNeedsUpdateLayers, void()); |
65 MOCK_METHOD0(StartRateLimiter, void()); | 67 MOCK_METHOD0(StartRateLimiter, void()); |
66 MOCK_METHOD0(StopRateLimiter, void()); | 68 MOCK_METHOD0(StopRateLimiter, void()); |
| 69 |
| 70 private: |
| 71 MockLayerTreeHost(FakeLayerTreeHostClient* client, |
| 72 LayerTreeHost::InitParams* params) |
| 73 : LayerTreeHost(params) { |
| 74 InitializeSingleThreaded(client, base::ThreadTaskRunnerHandle::Get(), |
| 75 nullptr); |
| 76 } |
67 }; | 77 }; |
68 | 78 |
69 class FakeTextureLayerClient : public TextureLayerClient { | 79 class FakeTextureLayerClient : public TextureLayerClient { |
70 public: | 80 public: |
71 FakeTextureLayerClient() : mailbox_changed_(true) {} | 81 FakeTextureLayerClient() : mailbox_changed_(true) {} |
72 | 82 |
73 bool PrepareTextureMailbox( | 83 bool PrepareTextureMailbox( |
74 TextureMailbox* mailbox, | 84 TextureMailbox* mailbox, |
75 scoped_ptr<SingleReleaseCallback>* release_callback, | 85 scoped_ptr<SingleReleaseCallback>* release_callback, |
76 bool use_shared_memory) override { | 86 bool use_shared_memory) override { |
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
173 class TextureLayerTest : public testing::Test { | 183 class TextureLayerTest : public testing::Test { |
174 public: | 184 public: |
175 TextureLayerTest() | 185 TextureLayerTest() |
176 : fake_client_( | 186 : fake_client_( |
177 FakeLayerTreeHostClient(FakeLayerTreeHostClient::DIRECT_3D)), | 187 FakeLayerTreeHostClient(FakeLayerTreeHostClient::DIRECT_3D)), |
178 host_impl_(&proxy_, &shared_bitmap_manager_, &task_graph_runner_), | 188 host_impl_(&proxy_, &shared_bitmap_manager_, &task_graph_runner_), |
179 test_data_(&shared_bitmap_manager_) {} | 189 test_data_(&shared_bitmap_manager_) {} |
180 | 190 |
181 protected: | 191 protected: |
182 void SetUp() override { | 192 void SetUp() override { |
183 layer_tree_host_.reset(new MockLayerTreeHost(&fake_client_)); | 193 layer_tree_host_ = MockLayerTreeHost::Create(&fake_client_); |
184 EXPECT_CALL(*layer_tree_host_, SetNeedsCommit()).Times(AnyNumber()); | 194 EXPECT_CALL(*layer_tree_host_, SetNeedsCommit()).Times(AnyNumber()); |
185 layer_tree_host_->SetViewportSize(gfx::Size(10, 10)); | 195 layer_tree_host_->SetViewportSize(gfx::Size(10, 10)); |
186 Mock::VerifyAndClearExpectations(layer_tree_host_.get()); | 196 Mock::VerifyAndClearExpectations(layer_tree_host_.get()); |
187 } | 197 } |
188 | 198 |
189 void TearDown() override { | 199 void TearDown() override { |
190 Mock::VerifyAndClearExpectations(layer_tree_host_.get()); | 200 Mock::VerifyAndClearExpectations(layer_tree_host_.get()); |
191 EXPECT_CALL(*layer_tree_host_, SetNeedsCommit()).Times(AnyNumber()); | 201 EXPECT_CALL(*layer_tree_host_, SetNeedsCommit()).Times(AnyNumber()); |
192 | 202 |
193 layer_tree_host_->SetRootLayer(nullptr); | 203 layer_tree_host_->SetRootLayer(nullptr); |
(...skipping 707 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
901 TextureLayerMailboxIsActivatedDuringCommit); | 911 TextureLayerMailboxIsActivatedDuringCommit); |
902 | 912 |
903 class TextureLayerImplWithMailboxTest : public TextureLayerTest { | 913 class TextureLayerImplWithMailboxTest : public TextureLayerTest { |
904 protected: | 914 protected: |
905 TextureLayerImplWithMailboxTest() | 915 TextureLayerImplWithMailboxTest() |
906 : fake_client_( | 916 : fake_client_( |
907 FakeLayerTreeHostClient(FakeLayerTreeHostClient::DIRECT_3D)) {} | 917 FakeLayerTreeHostClient(FakeLayerTreeHostClient::DIRECT_3D)) {} |
908 | 918 |
909 void SetUp() override { | 919 void SetUp() override { |
910 TextureLayerTest::SetUp(); | 920 TextureLayerTest::SetUp(); |
911 layer_tree_host_.reset(new MockLayerTreeHost(&fake_client_)); | 921 layer_tree_host_ = MockLayerTreeHost::Create(&fake_client_); |
912 EXPECT_TRUE(host_impl_.InitializeRenderer(FakeOutputSurface::Create3d())); | 922 EXPECT_TRUE(host_impl_.InitializeRenderer(FakeOutputSurface::Create3d())); |
913 } | 923 } |
914 | 924 |
915 bool WillDraw(TextureLayerImpl* layer, DrawMode mode) { | 925 bool WillDraw(TextureLayerImpl* layer, DrawMode mode) { |
916 bool will_draw = layer->WillDraw( | 926 bool will_draw = layer->WillDraw( |
917 mode, host_impl_.active_tree()->resource_provider()); | 927 mode, host_impl_.active_tree()->resource_provider()); |
918 if (will_draw) | 928 if (will_draw) |
919 layer->DidDraw(host_impl_.active_tree()->resource_provider()); | 929 layer->DidDraw(host_impl_.active_tree()->resource_provider()); |
920 return will_draw; | 930 return will_draw; |
921 } | 931 } |
(...skipping 610 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1532 int callback_count_; | 1542 int callback_count_; |
1533 scoped_refptr<Layer> root_; | 1543 scoped_refptr<Layer> root_; |
1534 scoped_refptr<TextureLayer> layer_; | 1544 scoped_refptr<TextureLayer> layer_; |
1535 }; | 1545 }; |
1536 | 1546 |
1537 SINGLE_AND_MULTI_THREAD_DIRECT_RENDERER_TEST_F( | 1547 SINGLE_AND_MULTI_THREAD_DIRECT_RENDERER_TEST_F( |
1538 TextureLayerWithMailboxImplThreadDeleted); | 1548 TextureLayerWithMailboxImplThreadDeleted); |
1539 | 1549 |
1540 } // namespace | 1550 } // namespace |
1541 } // namespace cc | 1551 } // namespace cc |
OLD | NEW |