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

Side by Side Diff: cc/surfaces/display_unittest.cc

Issue 2383373002: Reduce SurfaceIdAllocator usage and tie SurfaceFactory to a single FrameSinkId (Closed)
Patch Set: Rebased Created 4 years, 2 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
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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/surfaces/display.h" 5 #include "cc/surfaces/display.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/test/null_task_runner.h" 9 #include "base/test/null_task_runner.h"
10 #include "cc/output/compositor_frame.h" 10 #include "cc/output/compositor_frame.h"
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
92 92
93 bool damaged; 93 bool damaged;
94 bool display_resized_; 94 bool display_resized_;
95 bool has_new_root_surface; 95 bool has_new_root_surface;
96 bool swapped; 96 bool swapped;
97 }; 97 };
98 98
99 class DisplayTest : public testing::Test { 99 class DisplayTest : public testing::Test {
100 public: 100 public:
101 DisplayTest() 101 DisplayTest()
102 : factory_(&manager_, &surface_factory_client_), 102 : factory_(kArbitraryFrameSinkId, &manager_, &surface_factory_client_),
103 id_allocator_(kArbitraryFrameSinkId), 103 id_allocator_(kArbitraryFrameSinkId),
104 task_runner_(new base::NullTaskRunner) { 104 task_runner_(new base::NullTaskRunner) {
105 manager_.RegisterFrameSinkId(id_allocator_.frame_sink_id()); 105 manager_.RegisterFrameSinkId(kArbitraryFrameSinkId);
106 } 106 }
107 107
108 ~DisplayTest() override { 108 ~DisplayTest() override {
109 manager_.InvalidateFrameSinkId(id_allocator_.frame_sink_id()); 109 manager_.InvalidateFrameSinkId(kArbitraryFrameSinkId);
110 } 110 }
111 111
112 void SetUpDisplay(const RendererSettings& settings, 112 void SetUpDisplay(const RendererSettings& settings,
113 std::unique_ptr<TestWebGraphicsContext3D> context) { 113 std::unique_ptr<TestWebGraphicsContext3D> context) {
114 std::unique_ptr<BeginFrameSource> begin_frame_source( 114 std::unique_ptr<BeginFrameSource> begin_frame_source(
115 new StubBeginFrameSource); 115 new StubBeginFrameSource);
116 116
117 std::unique_ptr<FakeOutputSurface> output_surface; 117 std::unique_ptr<FakeOutputSurface> output_surface;
118 if (context) { 118 if (context) {
119 output_surface = FakeOutputSurface::Create3d(std::move(context)); 119 output_surface = FakeOutputSurface::Create3d(std::move(context));
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
175 } 175 }
176 176
177 // Check that frame is damaged and swapped only under correct conditions. 177 // Check that frame is damaged and swapped only under correct conditions.
178 TEST_F(DisplayTest, DisplayDamaged) { 178 TEST_F(DisplayTest, DisplayDamaged) {
179 RendererSettings settings; 179 RendererSettings settings;
180 settings.partial_swap_enabled = true; 180 settings.partial_swap_enabled = true;
181 settings.finish_rendering_on_resize = true; 181 settings.finish_rendering_on_resize = true;
182 SetUpDisplay(settings, nullptr); 182 SetUpDisplay(settings, nullptr);
183 183
184 StubDisplayClient client; 184 StubDisplayClient client;
185 display_->Initialize(&client, &manager_, id_allocator_.frame_sink_id()); 185 display_->Initialize(&client, &manager_, kArbitraryFrameSinkId);
186 186
187 SurfaceId surface_id(id_allocator_.GenerateId()); 187 SurfaceId surface_id(id_allocator_.GenerateId());
188 EXPECT_FALSE(scheduler_->damaged); 188 EXPECT_FALSE(scheduler_->damaged);
189 EXPECT_FALSE(scheduler_->has_new_root_surface); 189 EXPECT_FALSE(scheduler_->has_new_root_surface);
190 display_->SetSurfaceId(surface_id, 1.f); 190 display_->SetSurfaceId(surface_id, 1.f);
191 EXPECT_FALSE(scheduler_->damaged); 191 EXPECT_FALSE(scheduler_->damaged);
192 EXPECT_FALSE(scheduler_->display_resized_); 192 EXPECT_FALSE(scheduler_->display_resized_);
193 EXPECT_TRUE(scheduler_->has_new_root_surface); 193 EXPECT_TRUE(scheduler_->has_new_root_surface);
194 194
195 scheduler_->ResetDamageForTest(); 195 scheduler_->ResetDamageForTest();
(...skipping 242 matching lines...) Expand 10 before | Expand all | Expand 10 after
438 settings.partial_swap_enabled = true; 438 settings.partial_swap_enabled = true;
439 settings.finish_rendering_on_resize = true; 439 settings.finish_rendering_on_resize = true;
440 440
441 std::unique_ptr<MockedContext> context(new MockedContext()); 441 std::unique_ptr<MockedContext> context(new MockedContext());
442 MockedContext* context_ptr = context.get(); 442 MockedContext* context_ptr = context.get();
443 EXPECT_CALL(*context_ptr, shallowFinishCHROMIUM()).Times(0); 443 EXPECT_CALL(*context_ptr, shallowFinishCHROMIUM()).Times(0);
444 444
445 SetUpDisplay(settings, std::move(context)); 445 SetUpDisplay(settings, std::move(context));
446 446
447 StubDisplayClient client; 447 StubDisplayClient client;
448 display_->Initialize(&client, &manager_, id_allocator_.frame_sink_id()); 448 display_->Initialize(&client, &manager_, kArbitraryFrameSinkId);
449 449
450 display_->SetSurfaceId(surface_id, 1.f); 450 display_->SetSurfaceId(surface_id, 1.f);
451 451
452 display_->Resize(gfx::Size(100, 100)); 452 display_->Resize(gfx::Size(100, 100));
453 factory_.Create(surface_id); 453 factory_.Create(surface_id);
454 454
455 { 455 {
456 RenderPassList pass_list; 456 RenderPassList pass_list;
457 std::unique_ptr<RenderPass> pass = RenderPass::Create(); 457 std::unique_ptr<RenderPass> pass = RenderPass::Create();
458 pass->output_rect = gfx::Rect(0, 0, 100, 100); 458 pass->output_rect = gfx::Rect(0, 0, 100, 100);
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
495 495
496 EXPECT_CALL(*context_ptr, shallowFinishCHROMIUM()); 496 EXPECT_CALL(*context_ptr, shallowFinishCHROMIUM());
497 display_->Resize(gfx::Size(250, 250)); 497 display_->Resize(gfx::Size(250, 250));
498 testing::Mock::VerifyAndClearExpectations(context_ptr); 498 testing::Mock::VerifyAndClearExpectations(context_ptr);
499 499
500 factory_.Destroy(surface_id); 500 factory_.Destroy(surface_id);
501 } 501 }
502 502
503 } // namespace 503 } // namespace
504 } // namespace cc 504 } // namespace cc
OLDNEW
« no previous file with comments | « cc/surfaces/direct_compositor_frame_sink_unittest.cc ('k') | cc/surfaces/surface_aggregator_perftest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698