Chromium Code Reviews| Index: components/scheduler/child/scheduler_helper.cc |
| diff --git a/components/scheduler/child/scheduler_helper.cc b/components/scheduler/child/scheduler_helper.cc |
| index f39da7927192fe67c633abb3c192ebae476b2133..537d9b83d855f40887b155dad6b7948010dc6aed 100644 |
| --- a/components/scheduler/child/scheduler_helper.cc |
| +++ b/components/scheduler/child/scheduler_helper.cc |
| @@ -24,18 +24,17 @@ SchedulerHelper::SchedulerHelper( |
| disabled_by_default_verbose_tracing_category)), |
| control_task_runner_(NewTaskQueue( |
| TaskQueue::Spec("control_tq") |
| - .SetWakeupPolicy( |
| - TaskQueue::WakeupPolicy::DONT_WAKE_OTHER_QUEUES) |
| + .SetWakeupPolicy(TaskQueue::WakeupPolicy::DONT_WAKE_OTHER_QUEUES) |
| .SetShouldNotifyObservers(false))), |
| control_after_wakeup_task_runner_(NewTaskQueue( |
| TaskQueue::Spec("control_after_wakeup_tq") |
| .SetPumpPolicy(TaskQueue::PumpPolicy::AFTER_WAKEUP) |
| - .SetWakeupPolicy( |
| - TaskQueue::WakeupPolicy::DONT_WAKE_OTHER_QUEUES) |
| + .SetWakeupPolicy(TaskQueue::WakeupPolicy::DONT_WAKE_OTHER_QUEUES) |
| .SetShouldNotifyObservers(false))), |
| default_task_runner_(NewTaskQueue(TaskQueue::Spec("default_tq") |
| .SetShouldMonitorQuiescence(true))), |
| time_source_(new base::DefaultTickClock), |
| + queue_observer_(nullptr), |
| tracing_category_(tracing_category), |
| disabled_by_default_tracing_category_( |
| disabled_by_default_tracing_category) { |
| @@ -124,4 +123,17 @@ void SchedulerHelper::RemoveTaskObserver( |
| task_queue_manager_->RemoveTaskObserver(task_observer); |
| } |
| +void SchedulerHelper::SetQueueObserver(Observer* observer) { |
| + CheckOnValidThread(); |
| + queue_observer_ = observer; |
| + if (task_queue_manager_) |
|
Sami
2015/09/10 15:10:23
I think DCHECKing that we still have a manager wou
alex clarke (OOO till 29th)
2015/09/10 15:56:24
Done.
|
| + task_queue_manager_->SetQueueObserver(this); |
|
Sami
2015/09/10 15:10:23
Should probably remove this in the destructor.
alex clarke (OOO till 29th)
2015/09/10 15:56:24
Not sure that's worth doing since this class owns
Sami
2015/09/11 11:34:43
Ah right I didn't notice that. Usually I like to h
|
| +} |
| + |
| +void SchedulerHelper::OnUnregisterTaskQueue( |
| + const scoped_refptr<internal::TaskQueueImpl>& queue) { |
| + if (queue_observer_) |
| + queue_observer_->OnUnregisterTaskQueue(queue); |
| +} |
| + |
| } // namespace scheduler |