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

Side by Side Diff: third_party/WebKit/Source/platform/scheduler/base/task_queue_manager.cc

Issue 2540663002: Add the concept of QueueEnabledVoters to blink scheduler TaskQueue (Closed)
Patch Set: Fix test crashes and address feedback. Created 4 years 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "platform/scheduler/base/task_queue_manager.h" 5 #include "platform/scheduler/base/task_queue_manager.h"
6 6
7 #include <queue> 7 #include <queue>
8 #include <set> 8 #include <set>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after
136 TRACE_EVENT1(tracing_category_, "TaskQueueManager::UnregisterTaskQueue", 136 TRACE_EVENT1(tracing_category_, "TaskQueueManager::UnregisterTaskQueue",
137 "queue_name", task_queue->GetName()); 137 "queue_name", task_queue->GetName());
138 DCHECK(main_thread_checker_.CalledOnValidThread()); 138 DCHECK(main_thread_checker_.CalledOnValidThread());
139 if (observer_) 139 if (observer_)
140 observer_->OnUnregisterTaskQueue(task_queue); 140 observer_->OnUnregisterTaskQueue(task_queue);
141 141
142 // Add |task_queue| to |queues_to_delete_| so we can prevent it from being 142 // Add |task_queue| to |queues_to_delete_| so we can prevent it from being
143 // freed while any of our structures hold hold a raw pointer to it. 143 // freed while any of our structures hold hold a raw pointer to it.
144 queues_to_delete_.insert(task_queue); 144 queues_to_delete_.insert(task_queue);
145 queues_.erase(task_queue); 145 queues_.erase(task_queue);
146
146 selector_.RemoveQueue(task_queue.get()); 147 selector_.RemoveQueue(task_queue.get());
147 } 148 }
148 149
149 void TaskQueueManager::UpdateWorkQueues(LazyNow lazy_now) { 150 void TaskQueueManager::UpdateWorkQueues(LazyNow lazy_now) {
150 TRACE_EVENT0(disabled_by_default_tracing_category_, 151 TRACE_EVENT0(disabled_by_default_tracing_category_,
151 "TaskQueueManager::UpdateWorkQueues"); 152 "TaskQueueManager::UpdateWorkQueues");
152 153
153 for (TimeDomain* time_domain : time_domains_) { 154 for (TimeDomain* time_domain : time_domains_) {
154 LazyNow lazy_now_in_domain = time_domain == real_time_domain_.get() 155 LazyNow lazy_now_in_domain = time_domain == real_time_domain_.get()
155 ? lazy_now 156 ? lazy_now
(...skipping 334 matching lines...) Expand 10 before | Expand all | Expand 10 after
490 *work_queue->GetFrontTask()); 491 *work_queue->GetFrontTask());
491 } 492 }
492 } 493 }
493 494
494 bool TaskQueueManager::HasImmediateWorkForTesting() const { 495 bool TaskQueueManager::HasImmediateWorkForTesting() const {
495 return !selector_.EnabledWorkQueuesEmpty(); 496 return !selector_.EnabledWorkQueuesEmpty();
496 } 497 }
497 498
498 } // namespace scheduler 499 } // namespace scheduler
499 } // namespace blink 500 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698