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/nestable_task_runner_for_test.h" | 5 #include "components/scheduler/child/nestable_task_runner_for_test.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/bind_helpers.h" | 8 #include "base/bind_helpers.h" |
9 | 9 |
10 namespace scheduler { | 10 namespace scheduler { |
(...skipping 16 matching lines...) Expand all Loading... |
27 void NestableTaskRunnerForTest::WrapTask( | 27 void NestableTaskRunnerForTest::WrapTask( |
28 const base::PendingTask* wrapped_task) { | 28 const base::PendingTask* wrapped_task) { |
29 scoped_refptr<NestableTaskRunnerForTest> protect(this); | 29 scoped_refptr<NestableTaskRunnerForTest> protect(this); |
30 FOR_EACH_OBSERVER(base::MessageLoop::TaskObserver, task_observers_, | 30 FOR_EACH_OBSERVER(base::MessageLoop::TaskObserver, task_observers_, |
31 DidProcessTask(*wrapped_task)); | 31 DidProcessTask(*wrapped_task)); |
32 wrapped_task->task.Run(); | 32 wrapped_task->task.Run(); |
33 FOR_EACH_OBSERVER(base::MessageLoop::TaskObserver, task_observers_, | 33 FOR_EACH_OBSERVER(base::MessageLoop::TaskObserver, task_observers_, |
34 WillProcessTask(*wrapped_task)); | 34 WillProcessTask(*wrapped_task)); |
35 } | 35 } |
36 | 36 |
| 37 void NestableTaskRunnerForTest::SetDefaultTaskRunner( |
| 38 scoped_refptr<base::SingleThreadTaskRunner> task_runner) { |
| 39 default_task_runner_ = task_runner.Pass(); |
| 40 } |
| 41 |
37 bool NestableTaskRunnerForTest::PostDelayedTask( | 42 bool NestableTaskRunnerForTest::PostDelayedTask( |
38 const tracked_objects::Location& from_here, | 43 const tracked_objects::Location& from_here, |
39 const base::Closure& task, | 44 const base::Closure& task, |
40 base::TimeDelta delay) { | 45 base::TimeDelta delay) { |
41 base::PendingTask* wrapped_task = new base::PendingTask(from_here, task); | 46 base::PendingTask* wrapped_task = new base::PendingTask(from_here, task); |
42 return task_runner_->PostDelayedTask( | 47 return task_runner_->PostDelayedTask( |
43 from_here, | 48 from_here, |
44 base::Bind(&NestableTaskRunnerForTest::WrapTask, | 49 base::Bind(&NestableTaskRunnerForTest::WrapTask, |
45 weak_nestable_task_runner_ptr_, base::Owned(wrapped_task)), | 50 weak_nestable_task_runner_ptr_, base::Owned(wrapped_task)), |
46 delay); | 51 delay); |
(...skipping 27 matching lines...) Expand all Loading... |
74 base::MessageLoop::TaskObserver* task_observer) { | 79 base::MessageLoop::TaskObserver* task_observer) { |
75 task_observers_.AddObserver(task_observer); | 80 task_observers_.AddObserver(task_observer); |
76 } | 81 } |
77 | 82 |
78 void NestableTaskRunnerForTest::RemoveTaskObserver( | 83 void NestableTaskRunnerForTest::RemoveTaskObserver( |
79 base::MessageLoop::TaskObserver* task_observer) { | 84 base::MessageLoop::TaskObserver* task_observer) { |
80 task_observers_.RemoveObserver(task_observer); | 85 task_observers_.RemoveObserver(task_observer); |
81 } | 86 } |
82 | 87 |
83 } // namespace scheduler | 88 } // namespace scheduler |
OLD | NEW |