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

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

Issue 1821863002: Hook up ui::Compositor to Display's BeginFrameSource (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix unit test compilation Created 4 years, 9 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 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
86 factory_.SubmitCompositorFrame(surface_id, std::move(frame), 86 factory_.SubmitCompositorFrame(surface_id, std::move(frame),
87 SurfaceFactory::DrawCallback()); 87 SurfaceFactory::DrawCallback());
88 } 88 }
89 89
90 SurfaceManager manager_; 90 SurfaceManager manager_;
91 FakeSurfaceFactoryClient surface_factory_client_; 91 FakeSurfaceFactoryClient surface_factory_client_;
92 SurfaceFactory factory_; 92 SurfaceFactory factory_;
93 TestSoftwareOutputDevice* software_output_device_; 93 TestSoftwareOutputDevice* software_output_device_;
94 scoped_ptr<FakeOutputSurface> output_surface_; 94 scoped_ptr<FakeOutputSurface> output_surface_;
95 FakeOutputSurface* output_surface_ptr_; 95 FakeOutputSurface* output_surface_ptr_;
96 FakeBeginFrameSource fake_begin_frame_source_;
97 scoped_refptr<base::NullTaskRunner> task_runner_; 96 scoped_refptr<base::NullTaskRunner> task_runner_;
98 scoped_ptr<SharedBitmapManager> shared_bitmap_manager_; 97 scoped_ptr<SharedBitmapManager> shared_bitmap_manager_;
99 }; 98 };
100 99
101 class TestDisplayClient : public DisplayClient { 100 class TestDisplayClient : public DisplayClient {
102 public: 101 public:
103 TestDisplayClient() {} 102 TestDisplayClient() {}
104 ~TestDisplayClient() override {} 103 ~TestDisplayClient() override {}
105 104
106 void CommitVSyncParameters(base::TimeTicks timebase, 105 void CommitVSyncParameters(base::TimeTicks timebase,
107 base::TimeDelta interval) override {} 106 base::TimeDelta interval) override {}
108 void OutputSurfaceLost() override {} 107 void OutputSurfaceLost() override {}
109 void SetMemoryPolicy(const ManagedMemoryPolicy& policy) override {} 108 void SetMemoryPolicy(const ManagedMemoryPolicy& policy) override {}
109 BeginFrameSource* BeginFrameSourceForChildren() override {
110 return &fake_begin_frame_source_;
111 }
112
113 private:
114 FakeBeginFrameSource fake_begin_frame_source_;
110 }; 115 };
111 116
112 class TestDisplayScheduler : public DisplayScheduler { 117 class TestDisplayScheduler : public DisplayScheduler {
113 public: 118 public:
114 TestDisplayScheduler(DisplaySchedulerClient* client, 119 TestDisplayScheduler(DisplaySchedulerClient* client,
115 BeginFrameSource* begin_frame_source, 120 BeginFrameSource* begin_frame_source,
116 base::NullTaskRunner* task_runner) 121 base::NullTaskRunner* task_runner)
117 : DisplayScheduler(client, begin_frame_source, task_runner, 1), 122 : DisplayScheduler(client, begin_frame_source, task_runner, 1),
118 damaged(false), 123 damaged(false),
119 display_resized_(false), 124 display_resized_(false),
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
156 // Check that frame is damaged and swapped only under correct conditions. 161 // Check that frame is damaged and swapped only under correct conditions.
157 TEST_F(DisplayTest, DisplayDamaged) { 162 TEST_F(DisplayTest, DisplayDamaged) {
158 SetUpContext(nullptr); 163 SetUpContext(nullptr);
159 TestDisplayClient client; 164 TestDisplayClient client;
160 RendererSettings settings; 165 RendererSettings settings;
161 settings.partial_swap_enabled = true; 166 settings.partial_swap_enabled = true;
162 settings.finish_rendering_on_resize = true; 167 settings.finish_rendering_on_resize = true;
163 Display display(&client, &manager_, shared_bitmap_manager_.get(), nullptr, 168 Display display(&client, &manager_, shared_bitmap_manager_.get(), nullptr,
164 settings); 169 settings);
165 170
166 TestDisplayScheduler scheduler(&display, &fake_begin_frame_source_, 171 TestDisplayScheduler scheduler(&display, client.BeginFrameSourceForChildren(),
167 task_runner_.get()); 172 task_runner_.get());
168 display.Initialize(std::move(output_surface_), &scheduler); 173 display.Initialize(std::move(output_surface_), &scheduler);
169 174
170 SurfaceId surface_id(7u); 175 SurfaceId surface_id(7u);
171 EXPECT_FALSE(scheduler.damaged); 176 EXPECT_FALSE(scheduler.damaged);
172 EXPECT_FALSE(scheduler.has_new_root_surface); 177 EXPECT_FALSE(scheduler.has_new_root_surface);
173 display.SetSurfaceId(surface_id, 1.f); 178 display.SetSurfaceId(surface_id, 1.f);
174 EXPECT_FALSE(scheduler.damaged); 179 EXPECT_FALSE(scheduler.damaged);
175 EXPECT_FALSE(scheduler.display_resized_); 180 EXPECT_FALSE(scheduler.display_resized_);
176 EXPECT_TRUE(scheduler.has_new_root_surface); 181 EXPECT_TRUE(scheduler.has_new_root_surface);
(...skipping 245 matching lines...) Expand 10 before | Expand all | Expand 10 after
422 SetUpContext(std::move(context)); 427 SetUpContext(std::move(context));
423 428
424 EXPECT_CALL(*context_ptr, shallowFinishCHROMIUM()).Times(0); 429 EXPECT_CALL(*context_ptr, shallowFinishCHROMIUM()).Times(0);
425 TestDisplayClient client; 430 TestDisplayClient client;
426 RendererSettings settings; 431 RendererSettings settings;
427 settings.partial_swap_enabled = true; 432 settings.partial_swap_enabled = true;
428 settings.finish_rendering_on_resize = true; 433 settings.finish_rendering_on_resize = true;
429 Display display(&client, &manager_, shared_bitmap_manager_.get(), nullptr, 434 Display display(&client, &manager_, shared_bitmap_manager_.get(), nullptr,
430 settings); 435 settings);
431 436
432 TestDisplayScheduler scheduler(&display, &fake_begin_frame_source_, 437 TestDisplayScheduler scheduler(&display, client.BeginFrameSourceForChildren(),
433 task_runner_.get()); 438 task_runner_.get());
434 display.Initialize(std::move(output_surface_), &scheduler); 439 display.Initialize(std::move(output_surface_), &scheduler);
435 440
436 SurfaceId surface_id(7u); 441 SurfaceId surface_id(7u);
437 display.SetSurfaceId(surface_id, 1.f); 442 display.SetSurfaceId(surface_id, 1.f);
438 443
439 display.Resize(gfx::Size(100, 100)); 444 display.Resize(gfx::Size(100, 100));
440 factory_.Create(surface_id); 445 factory_.Create(surface_id);
441 446
442 { 447 {
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
482 487
483 EXPECT_CALL(*context_ptr, shallowFinishCHROMIUM()); 488 EXPECT_CALL(*context_ptr, shallowFinishCHROMIUM());
484 display.Resize(gfx::Size(250, 250)); 489 display.Resize(gfx::Size(250, 250));
485 testing::Mock::VerifyAndClearExpectations(context_ptr); 490 testing::Mock::VerifyAndClearExpectations(context_ptr);
486 491
487 factory_.Destroy(surface_id); 492 factory_.Destroy(surface_id);
488 } 493 }
489 494
490 } // namespace 495 } // namespace
491 } // namespace cc 496 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698