Chromium Code Reviews| Index: base/test/test_mock_time_task_runner.cc |
| diff --git a/base/test/test_mock_time_task_runner.cc b/base/test/test_mock_time_task_runner.cc |
| index 6dfecaf838ba8ee5e5b36f8d067e021e4d51f4c5..15510bcc656eaad3cf0f4494b47b0c850c648a89 100644 |
| --- a/base/test/test_mock_time_task_runner.cc |
| +++ b/base/test/test_mock_time_task_runner.cc |
| @@ -8,6 +8,8 @@ |
| #include "base/macros.h" |
| #include "base/memory/ptr_util.h" |
| #include "base/memory/ref_counted.h" |
| +#include "base/message_loop/message_loop.h" |
| +#include "base/threading/thread_task_runner_handle.h" |
| #include "base/time/clock.h" |
| #include "base/time/tick_clock.h" |
| @@ -266,4 +268,18 @@ bool TestMockTimeTaskRunner::DequeueNextTask(const TimeTicks& reference, |
| return false; |
| } |
| +// ScopedTestMockTimeTaskRunner ----------------------------------------------- |
| + |
| +ScopedMockTaskRunnerWrapper::ScopedMockTaskRunnerWrapper() { |
|
gab
2016/11/15 19:52:01
DCHECK(base::MessageLoop::current());
gab
2016/11/15 19:52:01
: task_runner_(new base::TestMockTimeTaskRunner),
bruthig
2016/11/15 21:52:44
Done.
bruthig
2016/11/15 21:52:44
Done.
|
| + task_runner_ = new base::TestMockTimeTaskRunner; |
| + previous_task_runner_ = base::ThreadTaskRunnerHandle::Get(); |
| + base::MessageLoop::current()->SetTaskRunner(task_runner_); |
| +} |
| + |
| +ScopedMockTaskRunnerWrapper::~ScopedMockTaskRunnerWrapper() { |
|
gab
2016/11/15 19:52:01
DCHECK(previous_task_runner_->RunsTasksOnCurrentTh
bruthig
2016/11/15 21:52:44
Done.
|
| + DCHECK_EQ(task_runner_, base::ThreadTaskRunnerHandle::Get()); |
| + task_runner_->ClearPendingTasks(); |
|
gab
2016/11/15 19:52:01
This feels wrong. Remaining tasks should be transf
bruthig
2016/11/15 21:52:44
Not exactly sure if I implemented what you were as
|
| + base::MessageLoop::current()->SetTaskRunner(previous_task_runner_); |
|
gab
2016/11/15 19:52:01
->SetTaskRunner(std::move(previous_task_runner_));
bruthig
2016/11/15 21:52:44
Done.
|
| +} |
| + |
| } // namespace base |