Chromium Code Reviews| OLD | NEW |
|---|---|
| 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 "components/scheduler/child/task_queue_manager.h" | 5 #include "components/scheduler/child/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 492 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 503 std::vector<const base::TaskQueue*> work_queues; | 503 std::vector<const base::TaskQueue*> work_queues; |
| 504 for (const auto& queue : queues_) | 504 for (const auto& queue : queues_) |
| 505 work_queues.push_back(&queue->work_queue()); | 505 work_queues.push_back(&queue->work_queue()); |
| 506 selector_->RegisterWorkQueues(work_queues); | 506 selector_->RegisterWorkQueues(work_queues); |
| 507 selector_->SetTaskQueueSelectorObserver(this); | 507 selector_->SetTaskQueueSelectorObserver(this); |
| 508 | 508 |
| 509 do_work_from_main_thread_closure_ = | 509 do_work_from_main_thread_closure_ = |
| 510 base::Bind(&TaskQueueManager::DoWork, weak_factory_.GetWeakPtr(), true); | 510 base::Bind(&TaskQueueManager::DoWork, weak_factory_.GetWeakPtr(), true); |
| 511 do_work_from_other_thread_closure_ = | 511 do_work_from_other_thread_closure_ = |
| 512 base::Bind(&TaskQueueManager::DoWork, weak_factory_.GetWeakPtr(), false); | 512 base::Bind(&TaskQueueManager::DoWork, weak_factory_.GetWeakPtr(), false); |
| 513 | |
| 514 if (task_queue_count) | |
| 515 main_task_runner->SetDefaultTaskRunner(Queue(0)); | |
|
alex clarke (OOO till 29th)
2015/07/08 13:30:53
It's currently true that task #0 is the default qu
Sami
2015/07/08 18:45:07
Good point. I thought about this a bit an realized
| |
| 513 } | 516 } |
| 514 | 517 |
| 515 TaskQueueManager::~TaskQueueManager() { | 518 TaskQueueManager::~TaskQueueManager() { |
| 516 TRACE_EVENT_OBJECT_DELETED_WITH_ID(disabled_by_default_tracing_category_, | 519 TRACE_EVENT_OBJECT_DELETED_WITH_ID(disabled_by_default_tracing_category_, |
| 517 "TaskQueueManager", this); | 520 "TaskQueueManager", this); |
| 518 for (auto& queue : queues_) | 521 for (auto& queue : queues_) |
| 519 queue->WillDeleteTaskQueueManager(); | 522 queue->WillDeleteTaskQueueManager(); |
| 520 selector_->SetTaskQueueSelectorObserver(nullptr); | 523 selector_->SetTaskQueueSelectorObserver(nullptr); |
| 521 } | 524 } |
| 522 | 525 |
| (...skipping 279 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 802 return nullptr; | 805 return nullptr; |
| 803 } | 806 } |
| 804 } | 807 } |
| 805 | 808 |
| 806 void TaskQueueManager::OnTaskQueueEnabled() { | 809 void TaskQueueManager::OnTaskQueueEnabled() { |
| 807 DCHECK(main_thread_checker_.CalledOnValidThread()); | 810 DCHECK(main_thread_checker_.CalledOnValidThread()); |
| 808 MaybePostDoWorkOnMainRunner(); | 811 MaybePostDoWorkOnMainRunner(); |
| 809 } | 812 } |
| 810 | 813 |
| 811 } // namespace scheduler | 814 } // namespace scheduler |
| OLD | NEW |