Chromium Code Reviews| 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)); |