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 #ifndef COMPONENTS_SCHEDULER_CHILD_WORKER_SCHEDULER_H_ | 5 #ifndef COMPONENTS_SCHEDULER_CHILD_WORKER_SCHEDULER_H_ |
6 #define COMPONENTS_SCHEDULER_CHILD_WORKER_SCHEDULER_H_ | 6 #define COMPONENTS_SCHEDULER_CHILD_WORKER_SCHEDULER_H_ |
7 | 7 |
8 #include "base/message_loop/message_loop.h" | 8 #include "base/message_loop/message_loop.h" |
9 #include "components/scheduler/child/child_scheduler.h" | 9 #include "components/scheduler/child/child_scheduler.h" |
10 #include "components/scheduler/child/single_thread_idle_task_runner.h" | 10 #include "components/scheduler/child/single_thread_idle_task_runner.h" |
11 #include "components/scheduler/scheduler_export.h" | 11 #include "components/scheduler/scheduler_export.h" |
12 | 12 |
13 namespace base { | 13 namespace base { |
14 class MessageLoop; | 14 class MessageLoop; |
15 } | 15 } |
16 | 16 |
17 namespace scheduler { | 17 namespace scheduler { |
| 18 class SchedulerTaskRunnerDelegate; |
18 | 19 |
19 class SCHEDULER_EXPORT WorkerScheduler : public ChildScheduler { | 20 class SCHEDULER_EXPORT WorkerScheduler : public ChildScheduler { |
20 public: | 21 public: |
21 ~WorkerScheduler() override; | 22 ~WorkerScheduler() override; |
22 static scoped_ptr<WorkerScheduler> Create(base::MessageLoop* message_loop); | 23 static scoped_ptr<WorkerScheduler> Create( |
| 24 scoped_refptr<SchedulerTaskRunnerDelegate> main_task_runner); |
23 | 25 |
24 // Must be called before the scheduler can be used. Does any post construction | 26 // Must be called before the scheduler can be used. Does any post construction |
25 // initialization needed such as initializing idle period detection. | 27 // initialization needed such as initializing idle period detection. |
26 virtual void Init() = 0; | 28 virtual void Init() = 0; |
27 | 29 |
28 protected: | 30 protected: |
29 WorkerScheduler(); | 31 WorkerScheduler(); |
30 DISALLOW_COPY_AND_ASSIGN(WorkerScheduler); | 32 DISALLOW_COPY_AND_ASSIGN(WorkerScheduler); |
31 }; | 33 }; |
32 | 34 |
33 } // namespace scheduler | 35 } // namespace scheduler |
34 | 36 |
35 #endif // COMPONENTS_SCHEDULER_CHILD_WORKER_SCHEDULER_H_ | 37 #endif // COMPONENTS_SCHEDULER_CHILD_WORKER_SCHEDULER_H_ |
OLD | NEW |