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

Unified 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 unittests 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 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 cbc7e34e378d4d6cf74faf92fb87d72fabd91550..52bb317588643fb965a211a3257ff10c7d7de32a 100644
--- a/cc/surfaces/display_unittest.cc
+++ b/cc/surfaces/display_unittest.cc
@@ -93,7 +93,6 @@ class DisplayTest : public testing::Test {
TestSoftwareOutputDevice* software_output_device_;
scoped_ptr<FakeOutputSurface> output_surface_;
FakeOutputSurface* output_surface_ptr_;
- FakeBeginFrameSource fake_begin_frame_source_;
scoped_refptr<base::NullTaskRunner> task_runner_;
scoped_ptr<SharedBitmapManager> shared_bitmap_manager_;
};
@@ -103,8 +102,6 @@ class TestDisplayClient : public DisplayClient {
TestDisplayClient() {}
~TestDisplayClient() override {}
- void CommitVSyncParameters(base::TimeTicks timebase,
- base::TimeDelta interval) override {}
void OutputSurfaceLost() override {}
void SetMemoryPolicy(const ManagedMemoryPolicy& policy) override {}
};
@@ -113,14 +110,12 @@ class TestDisplayScheduler : public DisplayScheduler {
public:
TestDisplayScheduler(DisplaySchedulerClient* client,
BeginFrameSource* begin_frame_source,
- base::NullTaskRunner* task_runner)
- : DisplayScheduler(client, begin_frame_source, task_runner, 1),
+ base::SingleThreadTaskRunner* task_runner)
+ : DisplayScheduler(client, begin_frame_source, task_runner, 1, settings_),
damaged(false),
display_resized_(false),
has_new_root_surface(false),
- swapped(false) {
- begin_frame_source_for_children_.reset(new FakeBeginFrameSource);
- }
+ swapped(false) {}
~TestDisplayScheduler() override {}
@@ -147,6 +142,35 @@ class TestDisplayScheduler : public DisplayScheduler {
bool display_resized_;
bool has_new_root_surface;
bool swapped;
+
+ private:
+ RendererSettings settings_;
+};
+
+class TestDisplay : public Display {
+ public:
+ TestDisplay(DisplayClient* client,
+ SurfaceManager* manager,
+ SharedBitmapManager* bitmap_manager,
+ gpu::GpuMemoryBufferManager* gpu_memory_buffer_manager,
+ const RendererSettings& settings,
+ uint32_t compositor_surface_namespace)
+ : Display(client,
+ manager,
+ bitmap_manager,
+ gpu_memory_buffer_manager,
+ settings,
+ compositor_surface_namespace) {}
+
+ TestDisplayScheduler& scheduler() {
+ return *static_cast<TestDisplayScheduler*>(scheduler_.get());
+ }
+
+ protected:
+ void CreateScheduler(base::SingleThreadTaskRunner* task_runner) override {
+ scheduler_.reset(
+ new TestDisplayScheduler(this, vsync_begin_frame_source_, task_runner));
+ }
};
void CopyCallback(bool* called, scoped_ptr<CopyOutputResult> result) {
@@ -160,14 +184,14 @@ TEST_F(DisplayTest, DisplayDamaged) {
RendererSettings settings;
settings.partial_swap_enabled = true;
settings.finish_rendering_on_resize = true;
- Display display(&client, &manager_, shared_bitmap_manager_.get(), nullptr,
- settings);
-
- TestDisplayScheduler scheduler(&display, &fake_begin_frame_source_,
- task_runner_.get());
- display.Initialize(std::move(output_surface_), &scheduler);
-
- SurfaceId surface_id(7u);
+ SurfaceIdAllocator allocator(3);
sunnyps 2016/03/28 23:09:48 nit: Why 3? Can we abstract this into a method on
enne (OOO) 2016/03/29 20:39:52 It's an arbitrary number. Put it in a constant to
+ allocator.RegisterSurfaceIdNamespace(&manager_);
+ TestDisplay display(&client, &manager_, shared_bitmap_manager_.get(), nullptr,
+ settings, allocator.id_namespace());
+ display.Initialize(std::move(output_surface_), task_runner_.get());
+ TestDisplayScheduler& scheduler = display.scheduler();
+
+ SurfaceId surface_id(allocator.GenerateId());
EXPECT_FALSE(scheduler.damaged);
EXPECT_FALSE(scheduler.has_new_root_surface);
display.SetSurfaceId(surface_id, 1.f);
@@ -422,18 +446,19 @@ TEST_F(DisplayTest, Finish) {
SetUpContext(std::move(context));
EXPECT_CALL(*context_ptr, shallowFinishCHROMIUM()).Times(0);
+
+ SurfaceIdAllocator allocator(3);
+ allocator.RegisterSurfaceIdNamespace(&manager_);
+ SurfaceId surface_id(allocator.GenerateId());
+
TestDisplayClient client;
RendererSettings settings;
settings.partial_swap_enabled = true;
settings.finish_rendering_on_resize = true;
- Display display(&client, &manager_, shared_bitmap_manager_.get(), nullptr,
- settings);
-
- TestDisplayScheduler scheduler(&display, &fake_begin_frame_source_,
- task_runner_.get());
- display.Initialize(std::move(output_surface_), &scheduler);
+ TestDisplay display(&client, &manager_, shared_bitmap_manager_.get(), nullptr,
+ settings, surface_id.id_namespace());
+ display.Initialize(std::move(output_surface_), task_runner_.get());
- SurfaceId surface_id(7u);
display.SetSurfaceId(surface_id, 1.f);
display.Resize(gfx::Size(100, 100));

Powered by Google App Engine
This is Rietveld 408576698