| OLD | NEW | 
|---|
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 "base/task_scheduler/task_scheduler.h" | 5 #include "base/task_scheduler/task_scheduler.h" | 
| 6 | 6 | 
| 7 #include "base/logging.h" | 7 #include "base/logging.h" | 
|  | 8 #include "base/task_scheduler/task_scheduler_impl.h" | 
| 8 | 9 | 
| 9 namespace base { | 10 namespace base { | 
| 10 | 11 | 
| 11 namespace { | 12 namespace { | 
| 12 | 13 | 
| 13 // |g_task_scheduler| is intentionally leaked on shutdown. | 14 // |g_task_scheduler| is intentionally leaked on shutdown. | 
| 14 TaskScheduler* g_task_scheduler = nullptr; | 15 TaskScheduler* g_task_scheduler = nullptr; | 
| 15 | 16 | 
| 16 }  // namespace | 17 }  // namespace | 
| 17 | 18 | 
| 18 // static | 19 // static | 
|  | 20 void TaskScheduler::CreateAndSetDefaultTaskScheduler( | 
|  | 21     const std::vector<SchedulerWorkerPoolParams>& worker_pool_params_vector, | 
|  | 22     const WorkerPoolIndexForTraitsCallback& | 
|  | 23         worker_pool_index_for_traits_callback) { | 
|  | 24   SetInstance(internal::TaskSchedulerImpl::Create( | 
|  | 25       worker_pool_params_vector, worker_pool_index_for_traits_callback)); | 
|  | 26 } | 
|  | 27 | 
|  | 28 // static | 
| 19 void TaskScheduler::SetInstance(std::unique_ptr<TaskScheduler> task_scheduler) { | 29 void TaskScheduler::SetInstance(std::unique_ptr<TaskScheduler> task_scheduler) { | 
| 20   delete g_task_scheduler; | 30   delete g_task_scheduler; | 
| 21   g_task_scheduler = task_scheduler.release(); | 31   g_task_scheduler = task_scheduler.release(); | 
| 22 } | 32 } | 
| 23 | 33 | 
| 24 // static | 34 // static | 
| 25 TaskScheduler* TaskScheduler::GetInstance() { | 35 TaskScheduler* TaskScheduler::GetInstance() { | 
| 26   return g_task_scheduler; | 36   return g_task_scheduler; | 
| 27 } | 37 } | 
| 28 | 38 | 
| 29 }  // namespace base | 39 }  // namespace base | 
| OLD | NEW | 
|---|