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

Unified Diff: cc/surfaces/display_unittest.cc

Issue 2029323004: Get rid of virtual Display::CreateScheduler. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@onscreendisplayclient
Patch Set: displaytest: androids Created 4 years, 7 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 side-by-side diff with in-line comments
Download patch
Index: cc/surfaces/display_unittest.cc
diff --git a/cc/surfaces/display_unittest.cc b/cc/surfaces/display_unittest.cc
index 810479bd92154596db171a897cd548155988aac6..8cd8c08e80bb39110aa9009da3bd3c47dfa7fe09 100644
--- a/cc/surfaces/display_unittest.cc
+++ b/cc/surfaces/display_unittest.cc
@@ -12,6 +12,7 @@
#include "cc/output/delegated_frame_data.h"
#include "cc/quads/render_pass.h"
#include "cc/resources/shared_bitmap_manager.h"
+#include "cc/scheduler/begin_frame_source.h"
#include "cc/surfaces/display_client.h"
#include "cc/surfaces/surface.h"
#include "cc/surfaces/surface_factory.h"
@@ -59,7 +60,8 @@ class DisplayTest : public testing::Test {
: factory_(&manager_, &surface_factory_client_),
id_allocator_(kArbitrarySurfaceNamespace),
software_output_device_(nullptr),
- task_runner_(new base::NullTaskRunner) {
+ task_runner_(new base::NullTaskRunner),
+ begin_frame_source_(task_runner_.get()) {
id_allocator_.RegisterSurfaceIdNamespace(&manager_);
}
@@ -100,6 +102,7 @@ class DisplayTest : public testing::Test {
std::unique_ptr<FakeOutputSurface> output_surface_;
FakeOutputSurface* output_surface_ptr_;
scoped_refptr<base::NullTaskRunner> task_runner_;
+ BackToBackBeginFrameSource begin_frame_source_;
std::unique_ptr<SharedBitmapManager> shared_bitmap_manager_;
};
@@ -158,6 +161,7 @@ class TestDisplay : public Display {
const RendererSettings& settings,
uint32_t compositor_surface_namespace,
base::SingleThreadTaskRunner* task_runner,
+ BeginFrameSource* begin_frame_source,
std::unique_ptr<OutputSurface> output_surface)
: Display(manager,
bitmap_manager,
@@ -165,21 +169,15 @@ class TestDisplay : public Display {
settings,
compositor_surface_namespace,
task_runner,
- std::move(output_surface)),
- task_runner_(task_runner) {}
+ begin_frame_source,
+ std::move(output_surface),
+ base::MakeUnique<TestDisplayScheduler>(this,
+ begin_frame_source,
+ task_runner)) {}
TestDisplayScheduler& scheduler() {
- return *static_cast<TestDisplayScheduler*>(scheduler_.get());
+ return *static_cast<TestDisplayScheduler*>(SchedulerForTesting());
}
-
- protected:
- void CreateScheduler() override {
- scheduler_.reset(new TestDisplayScheduler(this, vsync_begin_frame_source_,
- task_runner_));
- }
-
- private:
- base::SingleThreadTaskRunner* task_runner_;
};
void CopyCallback(bool* called, std::unique_ptr<CopyOutputResult> result) {
@@ -195,7 +193,8 @@ TEST_F(DisplayTest, DisplayDamaged) {
settings.finish_rendering_on_resize = true;
TestDisplay display(&manager_, shared_bitmap_manager_.get(), nullptr,
settings, id_allocator_.id_namespace(),
- task_runner_.get(), std::move(output_surface_));
+ task_runner_.get(), &begin_frame_source_,
+ std::move(output_surface_));
display.Initialize(&client);
TestDisplayScheduler& scheduler = display.scheduler();
@@ -463,7 +462,7 @@ TEST_F(DisplayTest, Finish) {
settings.finish_rendering_on_resize = true;
TestDisplay display(&manager_, shared_bitmap_manager_.get(), nullptr,
settings, surface_id.id_namespace(), task_runner_.get(),
- std::move(output_surface_));
+ &begin_frame_source_, std::move(output_surface_));
display.Initialize(&client);
display.SetSurfaceId(surface_id, 1.f);

Powered by Google App Engine
This is Rietveld 408576698