| 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/trace_event/trace_event.h" | 7 #include "base/trace_event/trace_event.h" |
| 8 #include "base/trace_event/trace_event_argument.h" | 8 #include "base/trace_event/trace_event_argument.h" |
| 9 #include "components/scheduler/child/nestable_single_thread_task_runner.h" | 9 #include "components/scheduler/child/nestable_single_thread_task_runner.h" |
| 10 #include "components/scheduler/child/prioritizing_task_queue_selector.h" | |
| 11 #include "components/scheduler/child/time_source.h" | 10 #include "components/scheduler/child/time_source.h" |
| 12 | 11 |
| 13 namespace scheduler { | 12 namespace scheduler { |
| 14 | 13 |
| 15 SchedulerHelper::SchedulerHelper( | 14 SchedulerHelper::SchedulerHelper( |
| 16 scoped_refptr<NestableSingleThreadTaskRunner> main_task_runner, | 15 scoped_refptr<NestableSingleThreadTaskRunner> main_task_runner, |
| 17 SchedulerHelperDelegate* scheduler_helper_delegate, | 16 SchedulerHelperDelegate* scheduler_helper_delegate, |
| 18 const char* tracing_category, | 17 const char* tracing_category, |
| 19 const char* disabled_by_default_tracing_category, | 18 const char* disabled_by_default_tracing_category, |
| 20 const char* idle_period_tracing_name, | 19 const char* idle_period_tracing_name, |
| (...skipping 308 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 329 | 328 |
| 330 base::TimeTicks SchedulerHelper::Now() const { | 329 base::TimeTicks SchedulerHelper::Now() const { |
| 331 return time_source_->Now(); | 330 return time_source_->Now(); |
| 332 } | 331 } |
| 333 | 332 |
| 334 SchedulerHelper::IdlePeriodState SchedulerHelper::SchedulerIdlePeriodState() | 333 SchedulerHelper::IdlePeriodState SchedulerHelper::SchedulerIdlePeriodState() |
| 335 const { | 334 const { |
| 336 return idle_period_state_; | 335 return idle_period_state_; |
| 337 } | 336 } |
| 338 | 337 |
| 339 PrioritizingTaskQueueSelector* SchedulerHelper::SchedulerTaskQueueSelector() | |
| 340 const { | |
| 341 return task_queue_selector_.get(); | |
| 342 } | |
| 343 | |
| 344 scoped_refptr<base::SingleThreadTaskRunner> SchedulerHelper::TaskRunnerForQueue( | 338 scoped_refptr<base::SingleThreadTaskRunner> SchedulerHelper::TaskRunnerForQueue( |
| 345 size_t queue_index) const { | 339 size_t queue_index) const { |
| 346 CheckOnValidThread(); | 340 CheckOnValidThread(); |
| 347 return task_queue_manager_->TaskRunnerForQueue(queue_index); | 341 return task_queue_manager_->TaskRunnerForQueue(queue_index); |
| 348 } | 342 } |
| 349 | 343 |
| 350 void SchedulerHelper::SetQueueName(size_t queue_index, const char* name) { | 344 void SchedulerHelper::SetQueueName(size_t queue_index, const char* name) { |
| 351 CheckOnValidThread(); | 345 CheckOnValidThread(); |
| 352 task_queue_manager_->SetQueueName(queue_index, name); | 346 task_queue_manager_->SetQueueName(queue_index, name); |
| 353 } | 347 } |
| 354 | 348 |
| 355 bool SchedulerHelper::IsQueueEmpty(size_t queue_index) const { | 349 bool SchedulerHelper::IsQueueEmpty(size_t queue_index) const { |
| 356 CheckOnValidThread(); | 350 CheckOnValidThread(); |
| 357 return task_queue_manager_->IsQueueEmpty(queue_index); | 351 return task_queue_manager_->IsQueueEmpty(queue_index); |
| 358 } | 352 } |
| 359 | 353 |
| 354 void SchedulerHelper::SetQueuePriority( |
| 355 size_t queue_index, |
| 356 PrioritizingTaskQueueSelector::QueuePriority priority) { |
| 357 CheckOnValidThread(); |
| 358 return task_queue_selector_->SetQueuePriority(queue_index, priority); |
| 359 } |
| 360 |
| 361 void SchedulerHelper::EnableQueue( |
| 362 size_t queue_index, |
| 363 PrioritizingTaskQueueSelector::QueuePriority priority) { |
| 364 CheckOnValidThread(); |
| 365 task_queue_selector_->EnableQueue(queue_index, priority); |
| 366 } |
| 367 |
| 368 void SchedulerHelper::DisableQueue(size_t queue_index) { |
| 369 CheckOnValidThread(); |
| 370 task_queue_selector_->DisableQueue(queue_index); |
| 371 } |
| 372 |
| 373 bool SchedulerHelper::IsQueueEnabled(size_t queue_index) const { |
| 374 CheckOnValidThread(); |
| 375 return task_queue_selector_->IsQueueEnabled(queue_index); |
| 376 } |
| 377 |
| 360 // static | 378 // static |
| 361 const char* SchedulerHelper::TaskQueueIdToString(QueueId queue_id) { | 379 const char* SchedulerHelper::TaskQueueIdToString(QueueId queue_id) { |
| 362 switch (queue_id) { | 380 switch (queue_id) { |
| 363 case DEFAULT_TASK_QUEUE: | 381 case DEFAULT_TASK_QUEUE: |
| 364 return "default_tq"; | 382 return "default_tq"; |
| 365 case IDLE_TASK_QUEUE: | 383 case IDLE_TASK_QUEUE: |
| 366 return "idle_tq"; | 384 return "idle_tq"; |
| 367 case CONTROL_TASK_QUEUE: | 385 case CONTROL_TASK_QUEUE: |
| 368 return "control_tq"; | 386 return "control_tq"; |
| 369 case CONTROL_TASK_AFTER_WAKEUP_QUEUE: | 387 case CONTROL_TASK_AFTER_WAKEUP_QUEUE: |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 402 } | 420 } |
| 403 | 421 |
| 404 void SchedulerHelper::RemoveTaskObserver( | 422 void SchedulerHelper::RemoveTaskObserver( |
| 405 base::MessageLoop::TaskObserver* task_observer) { | 423 base::MessageLoop::TaskObserver* task_observer) { |
| 406 CheckOnValidThread(); | 424 CheckOnValidThread(); |
| 407 if (task_queue_manager_) | 425 if (task_queue_manager_) |
| 408 task_queue_manager_->RemoveTaskObserver(task_observer); | 426 task_queue_manager_->RemoveTaskObserver(task_observer); |
| 409 } | 427 } |
| 410 | 428 |
| 411 } // namespace scheduler | 429 } // namespace scheduler |
| OLD | NEW |