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

Unified Diff: cc/resources/direct_raster_worker_pool.cc

Issue 228173002: cc: Separate RasterWorkerPool interface from implementation details. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: address review feedback Created 6 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
« no previous file with comments | « cc/resources/direct_raster_worker_pool.h ('k') | cc/resources/image_raster_worker_pool.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/resources/direct_raster_worker_pool.cc
diff --git a/cc/resources/direct_raster_worker_pool.cc b/cc/resources/direct_raster_worker_pool.cc
index abe73daa3dfe2baf872de062dede43de7c82b3c1..d3374a912f08588085b2c511dcd99c8636de08da 100644
--- a/cc/resources/direct_raster_worker_pool.cc
+++ b/cc/resources/direct_raster_worker_pool.cc
@@ -14,11 +14,11 @@
namespace cc {
// static
-scoped_ptr<DirectRasterWorkerPool> DirectRasterWorkerPool::Create(
+scoped_ptr<RasterWorkerPool> DirectRasterWorkerPool::Create(
base::SequencedTaskRunner* task_runner,
ResourceProvider* resource_provider,
ContextProvider* context_provider) {
- return make_scoped_ptr(new DirectRasterWorkerPool(
+ return make_scoped_ptr<RasterWorkerPool>(new DirectRasterWorkerPool(
task_runner, resource_provider, context_provider));
}
@@ -39,7 +39,9 @@ DirectRasterWorkerPool::~DirectRasterWorkerPool() {
DCHECK_EQ(0u, completed_tasks_.size());
}
-void DirectRasterWorkerPool::SetClient(RasterWorkerPoolClient* client) {
+Rasterizer* DirectRasterWorkerPool::AsRasterizer() { return this; }
+
+void DirectRasterWorkerPool::SetClient(RasterizerClient* client) {
client_ = client;
}
@@ -58,7 +60,7 @@ void DirectRasterWorkerPool::ScheduleTasks(RasterTaskQueue* queue) {
// Cancel existing OnRasterFinished callbacks.
raster_finished_weak_ptr_factory_.InvalidateWeakPtrs();
- scoped_refptr<internal::WorkerPoolTask>
+ scoped_refptr<internal::RasterizerTask>
new_raster_required_for_activation_finished_task(
CreateRasterRequiredForActivationFinishedTask(
queue->required_for_activation_count,
@@ -66,7 +68,7 @@ void DirectRasterWorkerPool::ScheduleTasks(RasterTaskQueue* queue) {
base::Bind(&DirectRasterWorkerPool::
OnRasterRequiredForActivationFinished,
raster_finished_weak_ptr_factory_.GetWeakPtr())));
- scoped_refptr<internal::WorkerPoolTask> new_raster_finished_task(
+ scoped_refptr<internal::RasterizerTask> new_raster_finished_task(
CreateRasterFinishedTask(
task_runner_.get(),
base::Bind(&DirectRasterWorkerPool::OnRasterFinished,
@@ -81,7 +83,7 @@ void DirectRasterWorkerPool::ScheduleTasks(RasterTaskQueue* queue) {
raster_tasks_.items.begin();
it != raster_tasks_.items.end();
++it) {
- internal::RasterWorkerPoolTask* task = it->task;
+ internal::RasterTask* task = it->task;
if (std::find_if(queue->items.begin(),
queue->items.end(),
@@ -111,11 +113,11 @@ ResourceFormat DirectRasterWorkerPool::GetResourceFormat() const {
void DirectRasterWorkerPool::CheckForCompletedTasks() {
TRACE_EVENT0("cc", "DirectRasterWorkerPool::CheckForCompletedTasks");
- for (internal::WorkerPoolTask::Vector::const_iterator it =
+ for (internal::RasterizerTask::Vector::const_iterator it =
completed_tasks_.begin();
it != completed_tasks_.end();
++it) {
- internal::WorkerPoolTask* task = it->get();
+ internal::RasterizerTask* task = it->get();
task->RunReplyOnOriginThread();
}
@@ -123,15 +125,13 @@ void DirectRasterWorkerPool::CheckForCompletedTasks() {
}
SkCanvas* DirectRasterWorkerPool::AcquireCanvasForRaster(
- internal::WorkerPoolTask* task,
- const Resource* resource) {
- return resource_provider_->MapDirectRasterBuffer(resource->id());
+ internal::RasterTask* task) {
+ return resource_provider_->MapDirectRasterBuffer(task->resource()->id());
}
void DirectRasterWorkerPool::ReleaseCanvasForRaster(
- internal::WorkerPoolTask* task,
- const Resource* resource) {
- resource_provider_->UnmapDirectRasterBuffer(resource->id());
+ internal::RasterTask* task) {
+ resource_provider_->UnmapDirectRasterBuffer(task->resource()->id());
}
void DirectRasterWorkerPool::OnRasterFinished() {
@@ -186,15 +186,15 @@ void DirectRasterWorkerPool::RunTasksOnOriginThread() {
raster_tasks_.items.begin();
it != raster_tasks_.items.end();
++it) {
- internal::RasterWorkerPoolTask* task = it->task;
+ internal::RasterTask* task = it->task;
DCHECK(!task->HasCompleted());
// First need to run all dependencies.
- for (internal::WorkerPoolTask::Vector::const_iterator it =
+ for (internal::ImageDecodeTask::Vector::const_iterator it =
task->dependencies().begin();
it != task->dependencies().end();
++it) {
- internal::WorkerPoolTask* dependency = it->get();
+ internal::ImageDecodeTask* dependency = it->get();
if (dependency->HasCompleted())
continue;
@@ -218,7 +218,7 @@ void DirectRasterWorkerPool::RunTasksOnOriginThread() {
}
void DirectRasterWorkerPool::RunTaskOnOriginThread(
- internal::WorkerPoolTask* task) {
+ internal::RasterizerTask* task) {
task->WillSchedule();
task->ScheduleOnOriginThread(this);
task->DidSchedule();
« no previous file with comments | « cc/resources/direct_raster_worker_pool.h ('k') | cc/resources/image_raster_worker_pool.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698