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

Unified Diff: cc/test/fake_tile_manager.cc

Issue 1910213005: cc: Refactor TileTaskWorkerPool. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@task_states
Patch Set: nits Created 4 years, 8 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/test/fake_tile_manager.cc
diff --git a/cc/test/fake_tile_manager.cc b/cc/test/fake_tile_manager.cc
index 94ca37b18904e7360f2430b787ceb8e0bf3be178..5e31c3c3f822c387e4531b284e2782b4eabe74da 100644
--- a/cc/test/fake_tile_manager.cc
+++ b/cc/test/fake_tile_manager.cc
@@ -23,50 +23,64 @@ 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 resource_content_id,
+ uint64_t previous_content_id) override {
+ return nullptr;
+ }
+ void ReleaseBufferForRaster(std::unique_ptr<RasterBuffer> buffer) override {}
+};
+
+class FakeTileTaskManager : public TileTaskManager {
+ public:
+ FakeTileTaskManager()
+ : TileTaskManager(base::WrapUnique<FakeTileTaskWorkerPoolImpl>(
+ new FakeTileTaskWorkerPoolImpl)) {}
+ ~FakeTileTaskManager() override {}
void Shutdown() override {}
void ScheduleTasks(TaskGraph* graph) override {
for (const 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);
}
}
void CheckForCompletedTasks() override {
- for (TileTask::Vector::iterator it = completed_tasks_.begin();
+ for (Task::Vector::iterator it = completed_tasks_.begin();
it != completed_tasks_.end(); ++it) {
- TileTask* task = it->get();
+ TileTask* task = static_cast<TileTask*>(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 resource_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;
} // namespace
@@ -76,9 +90,9 @@ FakeTileManager::FakeTileManager(TileManagerClient* client)
base::ThreadTaskRunnerHandle::Get(),
std::numeric_limits<size_t>::max(),
false /* use_partial_raster */) {
- SetResources(nullptr, g_fake_tile_task_worker_pool.Pointer(),
- &image_decode_controller_, std::numeric_limits<size_t>::max(),
- false /* use_gpu_rasterization */);
+ SetResources(
+ nullptr, &image_decode_controller_, g_fake_tile_task_manager.Pointer(),
+ std::numeric_limits<size_t>::max(), false /* use_gpu_rasterization */);
}
FakeTileManager::FakeTileManager(TileManagerClient* client,
@@ -87,8 +101,9 @@ FakeTileManager::FakeTileManager(TileManagerClient* client,
base::ThreadTaskRunnerHandle::Get(),
std::numeric_limits<size_t>::max(),
false /* use_partial_raster */) {
- SetResources(resource_pool, g_fake_tile_task_worker_pool.Pointer(),
- &image_decode_controller_, std::numeric_limits<size_t>::max(),
+ SetResources(resource_pool, &image_decode_controller_,
+ g_fake_tile_task_manager.Pointer(),
+ std::numeric_limits<size_t>::max(),
false /* use_gpu_rasterization */);
}

Powered by Google App Engine
This is Rietveld 408576698