Index: cc/resources/pixel_buffer_raster_worker_pool.cc |
diff --git a/cc/resources/pixel_buffer_raster_worker_pool.cc b/cc/resources/pixel_buffer_raster_worker_pool.cc |
index 67ae593bde0a5625dc36d2d14a4fd782f442750a..a5ee12f6dfce2a7073121901d9ca60f70150d7a9 100644 |
--- a/cc/resources/pixel_buffer_raster_worker_pool.cc |
+++ b/cc/resources/pixel_buffer_raster_worker_pool.cc |
@@ -261,17 +261,16 @@ void PixelBufferRasterWorkerPool::CheckForCompletedTasks() { |
completed_raster_tasks_.clear(); |
} |
-SkCanvas* PixelBufferRasterWorkerPool::AcquireCanvasForRaster( |
+RasterBuffer* PixelBufferRasterWorkerPool::AcquireBufferForRaster( |
RasterTask* task) { |
DCHECK(std::find_if(raster_task_states_.begin(), |
raster_task_states_.end(), |
RasterTaskState::TaskComparator(task)) != |
raster_task_states_.end()); |
- resource_provider_->AcquirePixelRasterBuffer(task->resource()->id()); |
- return resource_provider_->MapPixelRasterBuffer(task->resource()->id()); |
+ return resource_provider_->AcquirePixelRasterBuffer(task->resource()->id()); |
} |
-void PixelBufferRasterWorkerPool::ReleaseCanvasForRaster(RasterTask* task) { |
+void PixelBufferRasterWorkerPool::ReleaseBufferForRaster(RasterTask* task) { |
DCHECK(std::find_if(raster_task_states_.begin(), |
raster_task_states_.end(), |
RasterTaskState::TaskComparator(task)) != |
@@ -686,30 +685,21 @@ void PixelBufferRasterWorkerPool::CheckForCompletedRasterizerTasks() { |
RasterTaskState& state = *state_it; |
DCHECK_EQ(RasterTaskState::SCHEDULED, state.type); |
- // Balanced with MapPixelRasterBuffer() call in AcquireCanvasForRaster(). |
- bool content_has_changed = resource_provider_->UnmapPixelRasterBuffer( |
- raster_task->resource()->id()); |
- |
- // |content_has_changed| can be false as result of task being canceled or |
- // task implementation deciding not to modify bitmap (ie. analysis of raster |
- // commands detected content as a solid color). |
- if (!content_has_changed) { |
+ if (!raster_task->HasFinishedRunning()) { |
+ // When priorites change, a raster task can be canceled as a result of |
+ // no longer being of high enough priority to fit in our throttled |
+ // raster task budget. The task has not yet completed in this case. |
raster_task->WillComplete(); |
raster_task->CompleteOnOriginThread(this); |
raster_task->DidComplete(); |
- if (!raster_task->HasFinishedRunning()) { |
- // When priorites change, a raster task can be canceled as a result of |
- // no longer being of high enough priority to fit in our throttled |
- // raster task budget. The task has not yet completed in this case. |
- RasterTaskQueue::Item::Vector::const_iterator item_it = |
- std::find_if(raster_tasks_.items.begin(), |
- raster_tasks_.items.end(), |
- RasterTaskQueue::Item::TaskComparator(raster_task)); |
- if (item_it != raster_tasks_.items.end()) { |
- state.type = RasterTaskState::UNSCHEDULED; |
- continue; |
- } |
+ RasterTaskQueue::Item::Vector::const_iterator item_it = |
+ std::find_if(raster_tasks_.items.begin(), |
+ raster_tasks_.items.end(), |
+ RasterTaskQueue::Item::TaskComparator(raster_task)); |
+ if (item_it != raster_tasks_.items.end()) { |
+ state.type = RasterTaskState::UNSCHEDULED; |
+ continue; |
} |
DCHECK(std::find(completed_raster_tasks_.begin(), |
@@ -724,8 +714,6 @@ void PixelBufferRasterWorkerPool::CheckForCompletedRasterizerTasks() { |
continue; |
} |
- DCHECK(raster_task->HasFinishedRunning()); |
- |
resource_provider_->BeginSetPixels(raster_task->resource()->id()); |
has_performed_uploads_since_last_flush_ = true; |