Chromium Code Reviews| Index: cc/tiles/tile_manager_perftest.cc |
| diff --git a/cc/tiles/tile_manager_perftest.cc b/cc/tiles/tile_manager_perftest.cc |
| index 46f9017629c10e5ced3217b81657eeed52d45f3d..4fe9c32b6cb15b42f7fb9e5f7832b57084d1a38f 100644 |
| --- a/cc/tiles/tile_manager_perftest.cc |
| +++ b/cc/tiles/tile_manager_perftest.cc |
| @@ -41,13 +41,39 @@ class FakeTileTaskWorkerPoolImpl : public TileTaskWorkerPool, |
| public RasterBufferProvider { |
| public: |
| // Overridden from TileTaskWorkerPool: |
| + void BarrierToSyncResources() override {} |
| + ResourceFormat GetResourceFormat(bool must_support_alpha) const override { |
| + return RGBA_8888; |
| + } |
| + bool GetResourceRequiresSwizzle(bool must_support_alpha) const override { |
| + return ResourceFormatRequiresSwizzle(GetResourceFormat(must_support_alpha)); |
| + } |
| + RasterBufferProvider* AsRasterBufferProvider() override { return this; } |
| + |
| + // Overridden from RasterBufferProvider: |
| + std::unique_ptr<RasterBuffer> AcquireBufferForRaster( |
| + const Resource* resource, |
| + uint64_t new_content_id, |
| + uint64_t previous_content_id) override { |
| + return nullptr; |
| + } |
| + void ReleaseBufferForRaster(std::unique_ptr<RasterBuffer> buffer) override {} |
| +}; |
| + |
| +class FakeTileTaskManager : public TileTaskManager { |
|
ericrk
2016/04/25 20:56:07
This looks like the same code from fake_tile_manag
|
| + public: |
| + FakeTileTaskManager() |
| + : TileTaskManager(base::WrapUnique<TileTaskWorkerPool>( |
| + new FakeTileTaskWorkerPoolImpl)) {} |
| + ~FakeTileTaskManager() override {} |
| void Shutdown() override {} |
| void ScheduleTasks(TaskGraph* graph) override { |
| for (auto& node : graph->nodes) { |
| TileTask* task = static_cast<TileTask*>(node.task); |
| task->WillSchedule(); |
| - task->ScheduleOnOriginThread(this); |
| + task->ScheduleOnOriginThread( |
| + tile_task_worker_pool_->AsRasterBufferProvider()); |
| task->DidSchedule(); |
| completed_tasks_.push_back(task); |
| @@ -59,32 +85,23 @@ class FakeTileTaskWorkerPoolImpl : public TileTaskWorkerPool, |
| TileTask* task = it->get(); |
| task->WillComplete(); |
| - task->CompleteOnOriginThread(this); |
| + task->CompleteOnOriginThread( |
| + tile_task_worker_pool_->AsRasterBufferProvider()); |
| task->DidComplete(); |
| } |
| completed_tasks_.clear(); |
| } |
| - ResourceFormat GetResourceFormat(bool must_support_alpha) const override { |
| - return RGBA_8888; |
| - } |
| - bool GetResourceRequiresSwizzle(bool must_support_alpha) const override { |
| - return ResourceFormatRequiresSwizzle(GetResourceFormat(must_support_alpha)); |
| - } |
| - RasterBufferProvider* AsRasterBufferProvider() override { return this; } |
| - // Overridden from RasterBufferProvider: |
| - std::unique_ptr<RasterBuffer> AcquireBufferForRaster( |
| - const Resource* resource, |
| - uint64_t new_content_id, |
| - uint64_t previous_content_id) override { |
| - return nullptr; |
| + // Get TileTaskWorkerPool. |
| + TileTaskWorkerPool* GetTileTaskWorkerPool() const override { |
| + return tile_task_worker_pool_.get(); |
| } |
| - void ReleaseBufferForRaster(std::unique_ptr<RasterBuffer> buffer) override {} |
| private: |
| TileTask::Vector completed_tasks_; |
| }; |
| -base::LazyInstance<FakeTileTaskWorkerPoolImpl> g_fake_tile_task_worker_pool = |
| + |
| +base::LazyInstance<FakeTileTaskManager> g_fake_tile_task_manager = |
| LAZY_INSTANCE_INITIALIZER; |
| class TileManagerPerfTest : public testing::Test { |
| @@ -127,8 +144,8 @@ class TileManagerPerfTest : public testing::Test { |
| virtual void InitializeRenderer() { |
| host_impl_.SetVisible(true); |
| host_impl_.InitializeRenderer(output_surface_.get()); |
| - tile_manager()->SetTileTaskWorkerPoolForTesting( |
| - g_fake_tile_task_worker_pool.Pointer()); |
| + tile_manager()->SetTileTaskManagerForTesting( |
| + g_fake_tile_task_manager.Pointer()); |
| } |
| void SetupDefaultTrees(const gfx::Size& layer_bounds) { |