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

Side by Side Diff: cc/layers/surface_layer_unittest.cc

Issue 2171143002: cc: Get rid of non-delegated rendering in most cc unit tests. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@killdirecttests
Patch Set: fakeoutputsurface: no-constructor Created 4 years, 5 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 unified diff | Download patch
« no previous file with comments | « cc/layers/solid_color_layer_impl_unittest.cc ('k') | cc/layers/texture_layer_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 <stdint.h> 5 #include <stdint.h>
6 6
7 #include <set> 7 #include <set>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/location.h" 10 #include "base/location.h"
(...skipping 11 matching lines...) Expand all
22 #include "cc/trees/layer_tree_host.h" 22 #include "cc/trees/layer_tree_host.h"
23 #include "testing/gmock/include/gmock/gmock.h" 23 #include "testing/gmock/include/gmock/gmock.h"
24 #include "testing/gtest/include/gtest/gtest.h" 24 #include "testing/gtest/include/gtest/gtest.h"
25 25
26 namespace cc { 26 namespace cc {
27 namespace { 27 namespace {
28 28
29 static constexpr uint32_t kArbitraryClientId = 0; 29 static constexpr uint32_t kArbitraryClientId = 0;
30 30
31 class SurfaceLayerTest : public testing::Test { 31 class SurfaceLayerTest : public testing::Test {
32 public:
33 SurfaceLayerTest()
34 : fake_client_(
35 FakeLayerTreeHostClient(FakeLayerTreeHostClient::DIRECT_3D)) {}
36
37 protected: 32 protected:
38 void SetUp() override { 33 void SetUp() override {
39 layer_tree_host_ = 34 layer_tree_host_ =
40 FakeLayerTreeHost::Create(&fake_client_, &task_graph_runner_); 35 FakeLayerTreeHost::Create(&fake_client_, &task_graph_runner_);
41 layer_tree_host_->SetViewportSize(gfx::Size(10, 10)); 36 layer_tree_host_->SetViewportSize(gfx::Size(10, 10));
42 } 37 }
43 38
44 void TearDown() override { 39 void TearDown() override {
45 if (layer_tree_host_) { 40 if (layer_tree_host_) {
46 layer_tree_host_->SetRootLayer(nullptr); 41 layer_tree_host_->SetRootLayer(nullptr);
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after
175 SurfaceId required_id_; 170 SurfaceId required_id_;
176 std::set<SurfaceSequence> required_set_; 171 std::set<SurfaceSequence> required_set_;
177 }; 172 };
178 173
179 // Check that SurfaceSequence is sent through swap promise. 174 // Check that SurfaceSequence is sent through swap promise.
180 class SurfaceLayerSwapPromiseWithDraw : public SurfaceLayerSwapPromise { 175 class SurfaceLayerSwapPromiseWithDraw : public SurfaceLayerSwapPromise {
181 public: 176 public:
182 SurfaceLayerSwapPromiseWithDraw() : SurfaceLayerSwapPromise() {} 177 SurfaceLayerSwapPromiseWithDraw() : SurfaceLayerSwapPromise() {}
183 178
184 std::unique_ptr<OutputSurface> CreateOutputSurface() override { 179 std::unique_ptr<OutputSurface> CreateOutputSurface() override {
185 auto ret = delegating_renderer() ? FakeOutputSurface::CreateDelegating3d() 180 auto ret = FakeOutputSurface::CreateDelegating3d();
186 : FakeOutputSurface::Create3d();
187 output_surface_ = ret.get(); 181 output_surface_ = ret.get();
188 return std::move(ret); 182 return std::move(ret);
189 } 183 }
190 184
191 void ChangeTree() override { 185 void ChangeTree() override {
192 ++commit_count_; 186 ++commit_count_;
193 switch (commit_count_) { 187 switch (commit_count_) {
194 case 1: 188 case 1:
195 // Remove SurfaceLayer from tree to cause SwapPromise to be created. 189 // Remove SurfaceLayer from tree to cause SwapPromise to be created.
196 layer_tree_host()->SetRootLayer(blank_layer_); 190 layer_tree_host()->SetRootLayer(blank_layer_);
(...skipping 25 matching lines...) Expand all
222 EXPECT_TRUE(required_id_ == SurfaceId(kArbitraryClientId, 1, 0)); 216 EXPECT_TRUE(required_id_ == SurfaceId(kArbitraryClientId, 1, 0));
223 EXPECT_EQ(1u, required_set_.size()); 217 EXPECT_EQ(1u, required_set_.size());
224 // Sequence should have been satisfied through Swap, not with the 218 // Sequence should have been satisfied through Swap, not with the
225 // callback. 219 // callback.
226 EXPECT_TRUE(satisfied_sequence_.is_null()); 220 EXPECT_TRUE(satisfied_sequence_.is_null());
227 } 221 }
228 222
229 FakeOutputSurface* output_surface_; 223 FakeOutputSurface* output_surface_;
230 }; 224 };
231 225
232 // TODO(jbauman): Reenable on single thread once http://crbug.com/421923 is 226 SINGLE_AND_MULTI_THREAD_TEST_F(SurfaceLayerSwapPromiseWithDraw);
233 // fixed.
234 MULTI_THREAD_TEST_F(SurfaceLayerSwapPromiseWithDraw);
235 227
236 // Check that SurfaceSequence is sent through swap promise and resolved when 228 // Check that SurfaceSequence is sent through swap promise and resolved when
237 // swap fails. 229 // swap fails.
238 class SurfaceLayerSwapPromiseWithoutDraw : public SurfaceLayerSwapPromise { 230 class SurfaceLayerSwapPromiseWithoutDraw : public SurfaceLayerSwapPromise {
239 public: 231 public:
240 SurfaceLayerSwapPromiseWithoutDraw() : SurfaceLayerSwapPromise() {} 232 SurfaceLayerSwapPromiseWithoutDraw() : SurfaceLayerSwapPromise() {}
241 233
242 DrawResult PrepareToDrawOnThread(LayerTreeHostImpl* host_impl, 234 DrawResult PrepareToDrawOnThread(LayerTreeHostImpl* host_impl,
243 LayerTreeHostImpl::FrameData* frame, 235 LayerTreeHostImpl::FrameData* frame,
244 DrawResult draw_result) override { 236 DrawResult draw_result) override {
(...skipping 21 matching lines...) Expand all
266 EXPECT_EQ(1u, required_set_.size()); 258 EXPECT_EQ(1u, required_set_.size());
267 // Sequence should have been satisfied with the callback. 259 // Sequence should have been satisfied with the callback.
268 EXPECT_TRUE(satisfied_sequence_ == SurfaceSequence(1u, 1u)); 260 EXPECT_TRUE(satisfied_sequence_ == SurfaceSequence(1u, 1u));
269 } 261 }
270 }; 262 };
271 263
272 MULTI_THREAD_TEST_F(SurfaceLayerSwapPromiseWithoutDraw); 264 MULTI_THREAD_TEST_F(SurfaceLayerSwapPromiseWithoutDraw);
273 265
274 } // namespace 266 } // namespace
275 } // namespace cc 267 } // namespace cc
OLDNEW
« no previous file with comments | « cc/layers/solid_color_layer_impl_unittest.cc ('k') | cc/layers/texture_layer_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698