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

Side by Side Diff: third_party/WebKit/Source/platform/scheduler/child/scheduler_helper.cc

Issue 2637463002: Add an idle task to periodically sweep canceled delayed tasks (Closed)
Patch Set: Fix issue with tracked_objects::Location spotted by asan Created 3 years, 11 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 unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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/child/scheduler_helper.h" 5 #include "platform/scheduler/child/scheduler_helper.h"
6 6
7 #include "base/time/default_tick_clock.h" 7 #include "base/time/default_tick_clock.h"
8 #include "base/trace_event/trace_event.h" 8 #include "base/trace_event/trace_event.h"
9 #include "base/trace_event/trace_event_argument.h" 9 #include "base/trace_event/trace_event_argument.h"
10 #include "platform/scheduler/base/task_queue_impl.h" 10 #include "platform/scheduler/base/task_queue_impl.h"
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after
122 task_queue_manager_->RemoveTaskTimeObserver(task_time_observer); 122 task_queue_manager_->RemoveTaskTimeObserver(task_time_observer);
123 } 123 }
124 124
125 void SchedulerHelper::SetObserver(Observer* observer) { 125 void SchedulerHelper::SetObserver(Observer* observer) {
126 CheckOnValidThread(); 126 CheckOnValidThread();
127 observer_ = observer; 127 observer_ = observer;
128 DCHECK(task_queue_manager_); 128 DCHECK(task_queue_manager_);
129 task_queue_manager_->SetObserver(this); 129 task_queue_manager_->SetObserver(this);
130 } 130 }
131 131
132 void SchedulerHelper::SweepCanceledDelayedTasks() {
133 CheckOnValidThread();
134 DCHECK(task_queue_manager_);
135 task_queue_manager_->SweepCanceledDelayedTasks();
136 }
137
132 RealTimeDomain* SchedulerHelper::real_time_domain() const { 138 RealTimeDomain* SchedulerHelper::real_time_domain() const {
133 CheckOnValidThread(); 139 CheckOnValidThread();
134 DCHECK(task_queue_manager_); 140 DCHECK(task_queue_manager_);
135 return task_queue_manager_->real_time_domain(); 141 return task_queue_manager_->real_time_domain();
136 } 142 }
137 143
138 void SchedulerHelper::RegisterTimeDomain(TimeDomain* time_domain) { 144 void SchedulerHelper::RegisterTimeDomain(TimeDomain* time_domain) {
139 CheckOnValidThread(); 145 CheckOnValidThread();
140 DCHECK(task_queue_manager_); 146 DCHECK(task_queue_manager_);
141 task_queue_manager_->RegisterTimeDomain(time_domain); 147 task_queue_manager_->RegisterTimeDomain(time_domain);
(...skipping 19 matching lines...) Expand all
161 } 167 }
162 168
163 TaskQueue* SchedulerHelper::CurrentlyExecutingTaskQueue() const { 169 TaskQueue* SchedulerHelper::CurrentlyExecutingTaskQueue() const {
164 if (!task_queue_manager_) 170 if (!task_queue_manager_)
165 return nullptr; 171 return nullptr;
166 return task_queue_manager_->currently_executing_task_queue(); 172 return task_queue_manager_->currently_executing_task_queue();
167 } 173 }
168 174
169 } // namespace scheduler 175 } // namespace scheduler
170 } // namespace blink 176 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698