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 45cd08f4102f984c5e69b86881e312f4e6c03149..860b4cca2469178d90ea77f65d593c4da5bdba82 100644 |
--- a/cc/resources/image_raster_worker_pool.cc |
+++ b/cc/resources/image_raster_worker_pool.cc |
@@ -130,20 +130,21 @@ void ImageRasterWorkerPool::CheckForCompletedTasks() { |
CheckForCompletedGpuRasterTasks(); |
} |
-void* ImageRasterWorkerPool::AcquireBufferForRaster( |
- internal::RasterWorkerPoolTask* task, |
- int* stride) { |
- // Acquire image for resource. |
- resource_provider()->AcquireImage(task->resource()->id()); |
- |
- *stride = resource_provider()->GetImageStride(task->resource()->id()); |
- return resource_provider()->MapImage(task->resource()->id()); |
+SkCanvas* ImageRasterWorkerPool::AcquireCanvasForRaster( |
+ internal::RasterWorkerPoolTask* task) { |
+ if (task->use_gpu_rasterization()) |
+ return RasterWorkerPool::AcquireCanvasForRaster(task); |
+ 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()) { |
+ RasterWorkerPool::OnRasterCompleted(task, analysis); |
+ return; |
+ } |
+ resource_provider()->UnmapImageRasterBuffer(task->resource()->id()); |
} |
void ImageRasterWorkerPool::OnImageDecodeCompleted( |