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

Unified Diff: cc/resources/direct_raster_worker_pool.cc

Issue 168083002: cc: Remove RasterWorkerPool::Task. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: RasterTaskQueue::Task -> RasterTaskQueue::Item Created 6 years, 10 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
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 9bad9a5e43bd724db44a0ae8bea615fd9540c2ae..5f211e12d3e7a6709f078644d73bd99aa56f8af6 100644
--- a/cc/resources/direct_raster_worker_pool.cc
+++ b/cc/resources/direct_raster_worker_pool.cc
@@ -34,16 +34,22 @@ DirectRasterWorkerPool::~DirectRasterWorkerPool() {
DCHECK_EQ(0u, completed_tasks_.size());
}
-void DirectRasterWorkerPool::ScheduleTasks(RasterTask::Queue* queue) {
+void DirectRasterWorkerPool::ScheduleTasks(RasterTaskQueue* queue) {
TRACE_EVENT0("cc", "DirectRasterWorkerPool::ScheduleTasks");
+ DCHECK_EQ(queue->required_for_activation_count,
+ static_cast<size_t>(
+ std::count_if(queue->items.begin(),
+ queue->items.end(),
+ RasterTaskQueue::Item::IsRequiredForActivation)));
+
raster_tasks_pending_ = true;
raster_tasks_required_for_activation_pending_ = true;
scoped_refptr<internal::WorkerPoolTask>
new_raster_required_for_activation_finished_task(
CreateRasterRequiredForActivationFinishedTask(
- queue->required_for_activation_count()));
+ queue->required_for_activation_count));
scoped_refptr<internal::WorkerPoolTask> new_raster_finished_task(
CreateRasterFinishedTask());
@@ -55,10 +61,10 @@ void DirectRasterWorkerPool::ScheduleTasks(RasterTask::Queue* queue) {
for (RasterTaskQueueIterator it(&raster_tasks_); it; ++it) {
internal::RasterWorkerPoolTask* task = *it;
- if (std::find_if(queue->tasks_.begin(),
- queue->tasks_.end(),
- RasterTask::Queue::QueuedTask::TaskComparator(task)) ==
- queue->tasks_.end())
+ if (std::find_if(queue->items.begin(),
+ queue->items.end(),
+ RasterTaskQueue::Item::TaskComparator(task)) ==
+ queue->items.end())
completed_tasks_.push_back(task);
}
}
@@ -132,7 +138,7 @@ void DirectRasterWorkerPool::RunTasksOnOriginThread() {
DCHECK(run_tasks_on_origin_thread_pending_);
run_tasks_on_origin_thread_pending_ = false;
- if (!raster_tasks_.tasks_.empty()) {
+ if (!raster_tasks_.items.empty()) {
GrContext* gr_context = context_provider_->GrContext();
// TODO(alokp): Implement TestContextProvider::GrContext().
if (gr_context)

Powered by Google App Engine
This is Rietveld 408576698