Chromium Code Reviews| OLD | NEW |
|---|---|
| 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 "components/scheduler/child/scheduler_helper.h" | 5 #include "components/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 "components/scheduler/child/nestable_single_thread_task_runner.h" | 10 #include "components/scheduler/child/scheduler_task_runner_delegate.h" |
| 11 | 11 |
| 12 namespace scheduler { | 12 namespace scheduler { |
| 13 | 13 |
| 14 SchedulerHelper::SchedulerHelper( | 14 SchedulerHelper::SchedulerHelper( |
| 15 scoped_refptr<NestableSingleThreadTaskRunner> main_task_runner, | 15 scoped_refptr<SchedulerTaskRunnerDelegate> main_task_runner, |
| 16 const char* tracing_category, | 16 const char* tracing_category, |
| 17 const char* disabled_by_default_tracing_category, | 17 const char* disabled_by_default_tracing_category, |
| 18 const char* disabled_by_default_verbose_tracing_category, | 18 const char* disabled_by_default_verbose_tracing_category, |
| 19 size_t total_task_queue_count) | 19 size_t total_task_queue_count) |
| 20 : task_queue_selector_(new PrioritizingTaskQueueSelector()), | 20 : task_queue_selector_(new PrioritizingTaskQueueSelector()), |
| 21 task_queue_manager_( | 21 task_queue_manager_( |
| 22 new TaskQueueManager(total_task_queue_count, | 22 new TaskQueueManager(total_task_queue_count, |
| 23 main_task_runner, | 23 main_task_runner, |
| 24 task_queue_selector_.get(), | 24 task_queue_selector_.get(), |
| 25 disabled_by_default_tracing_category, | 25 disabled_by_default_tracing_category, |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 57 QueueId::CONTROL_TASK_AFTER_WAKEUP_QUEUE, | 57 QueueId::CONTROL_TASK_AFTER_WAKEUP_QUEUE, |
| 58 TaskQueueManager::WakeupPolicy::DONT_WAKE_OTHER_QUEUES); | 58 TaskQueueManager::WakeupPolicy::DONT_WAKE_OTHER_QUEUES); |
| 59 | 59 |
| 60 for (size_t i = 0; i < TASK_QUEUE_COUNT; i++) { | 60 for (size_t i = 0; i < TASK_QUEUE_COUNT; i++) { |
| 61 task_queue_manager_->SetQueueName( | 61 task_queue_manager_->SetQueueName( |
| 62 i, TaskQueueIdToString(static_cast<QueueId>(i))); | 62 i, TaskQueueIdToString(static_cast<QueueId>(i))); |
| 63 } | 63 } |
| 64 | 64 |
| 65 // TODO(skyostil): Increase this to 4 (crbug.com/444764). | 65 // TODO(skyostil): Increase this to 4 (crbug.com/444764). |
| 66 task_queue_manager_->SetWorkBatchSize(1); | 66 task_queue_manager_->SetWorkBatchSize(1); |
| 67 | |
| 68 main_task_runner->SetDefaultTaskRunner( | |
|
alex clarke (OOO till 29th)
2015/07/10 15:21:11
There was a test for this when it was on the TQM.
Sami
2015/07/10 15:35:13
Yep, it's now in components/scheduler/child/schedu
| |
| 69 task_queue_manager_->TaskRunnerForQueue(QueueId::DEFAULT_TASK_QUEUE)); | |
| 67 } | 70 } |
| 68 | 71 |
| 69 SchedulerHelper::~SchedulerHelper() { | 72 SchedulerHelper::~SchedulerHelper() { |
| 70 } | 73 } |
| 71 | 74 |
| 72 void SchedulerHelper::Shutdown() { | 75 void SchedulerHelper::Shutdown() { |
| 73 CheckOnValidThread(); | 76 CheckOnValidThread(); |
| 74 task_queue_manager_.reset(); | 77 task_queue_manager_.reset(); |
| 75 } | 78 } |
| 76 | 79 |
| (...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 212 } | 215 } |
| 213 | 216 |
| 214 void SchedulerHelper::RemoveTaskObserver( | 217 void SchedulerHelper::RemoveTaskObserver( |
| 215 base::MessageLoop::TaskObserver* task_observer) { | 218 base::MessageLoop::TaskObserver* task_observer) { |
| 216 CheckOnValidThread(); | 219 CheckOnValidThread(); |
| 217 if (task_queue_manager_) | 220 if (task_queue_manager_) |
| 218 task_queue_manager_->RemoveTaskObserver(task_observer); | 221 task_queue_manager_->RemoveTaskObserver(task_observer); |
| 219 } | 222 } |
| 220 | 223 |
| 221 } // namespace scheduler | 224 } // namespace scheduler |
| OLD | NEW |