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

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

Issue 1205483004: cc: Remove unnecessary task runner refptrs from schedulers. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@remove_begin_frame_source_constructor
Patch Set: fix surfaces_scheduler compile error Created 5 years, 6 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/surfaces/display_scheduler_unittest.cc ('k') | cc/surfaces/onscreen_display_client.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 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 "base/test/null_task_runner.h" 5 #include "base/test/null_task_runner.h"
6 #include "cc/output/compositor_frame.h" 6 #include "cc/output/compositor_frame.h"
7 #include "cc/output/copy_output_result.h" 7 #include "cc/output/copy_output_result.h"
8 #include "cc/output/delegated_frame_data.h" 8 #include "cc/output/delegated_frame_data.h"
9 #include "cc/quads/render_pass.h" 9 #include "cc/quads/render_pass.h"
10 #include "cc/resources/shared_bitmap_manager.h" 10 #include "cc/resources/shared_bitmap_manager.h"
(...skipping 15 matching lines...) Expand all
26 namespace cc { 26 namespace cc {
27 namespace { 27 namespace {
28 28
29 class EmptySurfaceFactoryClient : public SurfaceFactoryClient { 29 class EmptySurfaceFactoryClient : public SurfaceFactoryClient {
30 public: 30 public:
31 void ReturnResources(const ReturnedResourceArray& resources) override {} 31 void ReturnResources(const ReturnedResourceArray& resources) override {}
32 }; 32 };
33 33
34 class DisplayTest : public testing::Test { 34 class DisplayTest : public testing::Test {
35 public: 35 public:
36 DisplayTest() : factory_(&manager_, &empty_client_) {} 36 DisplayTest()
37 : factory_(&manager_, &empty_client_),
38 task_runner_(new base::NullTaskRunner) {}
37 39
38 protected: 40 protected:
39 void SetUpContext(scoped_ptr<TestWebGraphicsContext3D> context) { 41 void SetUpContext(scoped_ptr<TestWebGraphicsContext3D> context) {
40 if (context) { 42 if (context) {
41 output_surface_ = FakeOutputSurface::Create3d( 43 output_surface_ = FakeOutputSurface::Create3d(
42 TestContextProvider::Create(context.Pass())); 44 TestContextProvider::Create(context.Pass()));
43 } else { 45 } else {
44 output_surface_ = FakeOutputSurface::CreateSoftware( 46 output_surface_ = FakeOutputSurface::CreateSoftware(
45 make_scoped_ptr(new SoftwareOutputDevice)); 47 make_scoped_ptr(new SoftwareOutputDevice));
46 } 48 }
(...skipping 11 matching lines...) Expand all
58 factory_.SubmitFrame(surface_id, frame.Pass(), 60 factory_.SubmitFrame(surface_id, frame.Pass(),
59 SurfaceFactory::DrawCallback()); 61 SurfaceFactory::DrawCallback());
60 } 62 }
61 63
62 SurfaceManager manager_; 64 SurfaceManager manager_;
63 EmptySurfaceFactoryClient empty_client_; 65 EmptySurfaceFactoryClient empty_client_;
64 SurfaceFactory factory_; 66 SurfaceFactory factory_;
65 scoped_ptr<FakeOutputSurface> output_surface_; 67 scoped_ptr<FakeOutputSurface> output_surface_;
66 FakeOutputSurface* output_surface_ptr_; 68 FakeOutputSurface* output_surface_ptr_;
67 FakeBeginFrameSource fake_begin_frame_source_; 69 FakeBeginFrameSource fake_begin_frame_source_;
70 scoped_refptr<base::NullTaskRunner> task_runner_;
68 scoped_ptr<SharedBitmapManager> shared_bitmap_manager_; 71 scoped_ptr<SharedBitmapManager> shared_bitmap_manager_;
69 }; 72 };
70 73
71 class TestDisplayClient : public DisplayClient { 74 class TestDisplayClient : public DisplayClient {
72 public: 75 public:
73 TestDisplayClient() {} 76 TestDisplayClient() {}
74 ~TestDisplayClient() override {} 77 ~TestDisplayClient() override {}
75 78
76 void CommitVSyncParameters(base::TimeTicks timebase, 79 void CommitVSyncParameters(base::TimeTicks timebase,
77 base::TimeDelta interval) override {} 80 base::TimeDelta interval) override {}
78 void OutputSurfaceLost() override {} 81 void OutputSurfaceLost() override {}
79 void SetMemoryPolicy(const ManagedMemoryPolicy& policy) override {} 82 void SetMemoryPolicy(const ManagedMemoryPolicy& policy) override {}
80 }; 83 };
81 84
82 class TestDisplayScheduler : public DisplayScheduler { 85 class TestDisplayScheduler : public DisplayScheduler {
83 public: 86 public:
84 TestDisplayScheduler(DisplaySchedulerClient* client, 87 TestDisplayScheduler(DisplaySchedulerClient* client,
85 BeginFrameSource* begin_frame_source) 88 BeginFrameSource* begin_frame_source,
86 : DisplayScheduler(client, 89 base::NullTaskRunner* task_runner)
87 begin_frame_source, 90 : DisplayScheduler(client, begin_frame_source, task_runner, 1),
88 make_scoped_refptr(new base::NullTaskRunner),
89 1),
90 damaged(false), 91 damaged(false),
91 entire_display_damaged(false), 92 entire_display_damaged(false),
92 swapped(false) {} 93 swapped(false) {}
93 94
94 ~TestDisplayScheduler() override {} 95 ~TestDisplayScheduler() override {}
95 96
96 void EntireDisplayDamaged(SurfaceId root_surface_id) override { 97 void EntireDisplayDamaged(SurfaceId root_surface_id) override {
97 entire_display_damaged = true; 98 entire_display_damaged = true;
98 } 99 }
99 100
(...skipping 21 matching lines...) Expand all
121 // Check that frame is damaged and swapped only under correct conditions. 122 // Check that frame is damaged and swapped only under correct conditions.
122 TEST_F(DisplayTest, DisplayDamaged) { 123 TEST_F(DisplayTest, DisplayDamaged) {
123 SetUpContext(nullptr); 124 SetUpContext(nullptr);
124 TestDisplayClient client; 125 TestDisplayClient client;
125 RendererSettings settings; 126 RendererSettings settings;
126 settings.partial_swap_enabled = true; 127 settings.partial_swap_enabled = true;
127 settings.finish_rendering_on_resize = true; 128 settings.finish_rendering_on_resize = true;
128 Display display(&client, &manager_, shared_bitmap_manager_.get(), nullptr, 129 Display display(&client, &manager_, shared_bitmap_manager_.get(), nullptr,
129 settings); 130 settings);
130 131
131 TestDisplayScheduler scheduler(&display, &fake_begin_frame_source_); 132 TestDisplayScheduler scheduler(&display, &fake_begin_frame_source_,
133 task_runner_.get());
132 display.Initialize(output_surface_.Pass(), &scheduler); 134 display.Initialize(output_surface_.Pass(), &scheduler);
133 135
134 SurfaceId surface_id(7u); 136 SurfaceId surface_id(7u);
135 EXPECT_FALSE(scheduler.damaged); 137 EXPECT_FALSE(scheduler.damaged);
136 EXPECT_FALSE(scheduler.entire_display_damaged); 138 EXPECT_FALSE(scheduler.entire_display_damaged);
137 display.SetSurfaceId(surface_id, 1.f); 139 display.SetSurfaceId(surface_id, 1.f);
138 EXPECT_FALSE(scheduler.damaged); 140 EXPECT_FALSE(scheduler.damaged);
139 EXPECT_TRUE(scheduler.entire_display_damaged); 141 EXPECT_TRUE(scheduler.entire_display_damaged);
140 142
141 scheduler.ResetDamageForTest(); 143 scheduler.ResetDamageForTest();
(...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after
328 SetUpContext(context.Pass()); 330 SetUpContext(context.Pass());
329 331
330 EXPECT_CALL(*context_ptr, shallowFinishCHROMIUM()).Times(0); 332 EXPECT_CALL(*context_ptr, shallowFinishCHROMIUM()).Times(0);
331 TestDisplayClient client; 333 TestDisplayClient client;
332 RendererSettings settings; 334 RendererSettings settings;
333 settings.partial_swap_enabled = true; 335 settings.partial_swap_enabled = true;
334 settings.finish_rendering_on_resize = true; 336 settings.finish_rendering_on_resize = true;
335 Display display(&client, &manager_, shared_bitmap_manager_.get(), nullptr, 337 Display display(&client, &manager_, shared_bitmap_manager_.get(), nullptr,
336 settings); 338 settings);
337 339
338 TestDisplayScheduler scheduler(&display, &fake_begin_frame_source_); 340 TestDisplayScheduler scheduler(&display, &fake_begin_frame_source_,
341 task_runner_.get());
339 display.Initialize(output_surface_.Pass(), &scheduler); 342 display.Initialize(output_surface_.Pass(), &scheduler);
340 343
341 SurfaceId surface_id(7u); 344 SurfaceId surface_id(7u);
342 display.SetSurfaceId(surface_id, 1.f); 345 display.SetSurfaceId(surface_id, 1.f);
343 346
344 display.Resize(gfx::Size(100, 100)); 347 display.Resize(gfx::Size(100, 100));
345 factory_.Create(surface_id); 348 factory_.Create(surface_id);
346 349
347 { 350 {
348 RenderPassList pass_list; 351 RenderPassList pass_list;
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
387 390
388 EXPECT_CALL(*context_ptr, shallowFinishCHROMIUM()); 391 EXPECT_CALL(*context_ptr, shallowFinishCHROMIUM());
389 display.Resize(gfx::Size(250, 250)); 392 display.Resize(gfx::Size(250, 250));
390 testing::Mock::VerifyAndClearExpectations(context_ptr); 393 testing::Mock::VerifyAndClearExpectations(context_ptr);
391 394
392 factory_.Destroy(surface_id); 395 factory_.Destroy(surface_id);
393 } 396 }
394 397
395 } // namespace 398 } // namespace
396 } // namespace cc 399 } // namespace cc
OLDNEW
« no previous file with comments | « cc/surfaces/display_scheduler_unittest.cc ('k') | cc/surfaces/onscreen_display_client.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698