Index: cc/resources/image_raster_worker_pool.cc |
diff --git a/cc/resources/image_raster_worker_pool.cc b/cc/resources/image_raster_worker_pool.cc |
index 16f876c62d962de9906128197c45b196ede33c85..d4ba08cc5bacc25ec9a06f55bdd749ed1882916a 100644 |
--- a/cc/resources/image_raster_worker_pool.cc |
+++ b/cc/resources/image_raster_worker_pool.cc |
@@ -140,20 +140,22 @@ void ImageRasterWorkerPool::CheckForCompletedTasks() { |
CheckForCompletedGpuRasterTasks(); |
} |
-void* ImageRasterWorkerPool::AcquireBufferForRaster( |
- internal::RasterWorkerPoolTask* task, |
- int* stride) { |
- // Acquire image for resource. |
- resource_provider()->AcquireImage(task->resource()->id()); |
+SkCanvas* ImageRasterWorkerPool::AcquireCanvasForRaster( |
+ internal::RasterWorkerPoolTask* task) { |
+ if (task->use_gpu_rasterization()) |
+ return resource_provider()->MapDirectRasterBuffer(task->resource()->id()); |
- *stride = resource_provider()->GetImageStride(task->resource()->id()); |
- return resource_provider()->MapImage(task->resource()->id()); |
+ return resource_provider()->MapImageRasterBuffer(task->resource()->id()); |
} |
void ImageRasterWorkerPool::OnRasterCompleted( |
internal::RasterWorkerPoolTask* task, |
const PicturePileImpl::Analysis& analysis) { |
- resource_provider()->UnmapImage(task->resource()->id()); |
+ if (task->use_gpu_rasterization()) { |
+ resource_provider()->UnmapDirectRasterBuffer(task->resource()->id()); |
+ return; |
+ } |
+ resource_provider()->UnmapImageRasterBuffer(task->resource()->id()); |
} |
void ImageRasterWorkerPool::OnImageDecodeCompleted( |