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 d0f75e13b90c262e7f12498528b6ca3cad4ffd02..5cd42dabf0553fefa27856995485166fca8fe727 100644 |
--- a/cc/resources/image_raster_worker_pool.cc |
+++ b/cc/resources/image_raster_worker_pool.cc |
@@ -51,12 +51,6 @@ void ImageRasterWorkerPool::Shutdown() { |
void ImageRasterWorkerPool::ScheduleTasks(RasterTaskQueue* queue) { |
TRACE_EVENT0("cc", "ImageRasterWorkerPool::ScheduleTasks"); |
- DCHECK_EQ(queue->required_for_activation_count, |
- static_cast<size_t>( |
- std::count_if(queue->items.begin(), |
- queue->items.end(), |
- RasterTaskQueue::Item::IsRequiredForActivation))); |
- |
if (!raster_tasks_pending_) |
TRACE_EVENT_ASYNC_BEGIN0("cc", "ScheduledTasks", this); |
@@ -71,19 +65,19 @@ void ImageRasterWorkerPool::ScheduleTasks(RasterTaskQueue* queue) { |
raster_finished_weak_ptr_factory_.InvalidateWeakPtrs(); |
scoped_refptr<RasterizerTask> |
- new_raster_required_for_activation_finished_task( |
- CreateRasterRequiredForActivationFinishedTask( |
- queue->required_for_activation_count, |
- task_runner_.get(), |
- base::Bind( |
- &ImageRasterWorkerPool::OnRasterRequiredForActivationFinished, |
- raster_finished_weak_ptr_factory_.GetWeakPtr()))); |
+ new_raster_required_for_activation_finished_task(CreateRasterFinishedTask( |
+ task_runner_.get(), |
+ base::Bind( |
+ &ImageRasterWorkerPool::OnRasterRequiredForActivationFinished, |
+ raster_finished_weak_ptr_factory_.GetWeakPtr()))); |
scoped_refptr<RasterizerTask> new_raster_finished_task( |
CreateRasterFinishedTask( |
task_runner_.get(), |
base::Bind(&ImageRasterWorkerPool::OnRasterFinished, |
raster_finished_weak_ptr_factory_.GetWeakPtr()))); |
+ size_t required_for_activation_count = 0; |
+ |
for (RasterTaskQueue::Item::Vector::const_iterator it = queue->items.begin(); |
it != queue->items.end(); |
++it) { |
@@ -92,6 +86,7 @@ void ImageRasterWorkerPool::ScheduleTasks(RasterTaskQueue* queue) { |
DCHECK(!task->HasCompleted()); |
if (item.required_for_activation) { |
+ ++required_for_activation_count; |
graph_.edges.push_back(TaskGraph::Edge( |
task, new_raster_required_for_activation_finished_task.get())); |
} |
@@ -105,7 +100,7 @@ void ImageRasterWorkerPool::ScheduleTasks(RasterTaskQueue* queue) { |
InsertNodeForTask(&graph_, |
new_raster_required_for_activation_finished_task.get(), |
kRasterRequiredForActivationFinishedTaskPriority, |
- queue->required_for_activation_count); |
+ required_for_activation_count); |
InsertNodeForTask(&graph_, |
new_raster_finished_task.get(), |
kRasterFinishedTaskPriority, |