| Index: base/test/scoped_mock_time_message_loop_task_runner.cc
|
| diff --git a/base/test/scoped_mock_time_message_loop_task_runner.cc b/base/test/scoped_mock_time_message_loop_task_runner.cc
|
| index 03c9c42c2292cfcd36e136d72182c15ba1102060..5b1c03faec72dd07f4785989d40522345697dd81 100644
|
| --- a/base/test/scoped_mock_time_message_loop_task_runner.cc
|
| +++ b/base/test/scoped_mock_time_message_loop_task_runner.cc
|
| @@ -6,6 +6,7 @@
|
|
|
| #include <deque>
|
|
|
| +#include "base/bind.h"
|
| #include "base/logging.h"
|
| #include "base/message_loop/message_loop.h"
|
| #include "base/run_loop.h"
|
| @@ -14,6 +15,13 @@
|
| #include "base/time/time.h"
|
|
|
| namespace base {
|
| +namespace {
|
| +
|
| +void RunOnceClosure(OnceClosure closure) {
|
| + std::move(closure).Run();
|
| +}
|
| +
|
| +} // namespace
|
|
|
| ScopedMockTimeMessageLoopTaskRunner::ScopedMockTimeMessageLoopTaskRunner()
|
| : task_runner_(new TestMockTimeTaskRunner),
|
| @@ -28,9 +36,12 @@ ScopedMockTimeMessageLoopTaskRunner::ScopedMockTimeMessageLoopTaskRunner()
|
| ScopedMockTimeMessageLoopTaskRunner::~ScopedMockTimeMessageLoopTaskRunner() {
|
| DCHECK(previous_task_runner_->RunsTasksOnCurrentThread());
|
| DCHECK_EQ(task_runner_, ThreadTaskRunnerHandle::Get());
|
| - for (const auto& pending_task : task_runner_->TakePendingTasks()) {
|
| + for (auto& pending_task : task_runner_->TakePendingTasks()) {
|
| + // TODO(tzik): Remove RunOnceClosure once TaskRunner migrates from Closure
|
| + // to OnceClosure.
|
| previous_task_runner_->PostDelayedTask(
|
| - pending_task.location, pending_task.task,
|
| + pending_task.location,
|
| + Bind(&RunOnceClosure, Passed(&pending_task.task)),
|
| pending_task.GetTimeToRun() - task_runner_->NowTicks());
|
| }
|
| MessageLoop::current()->SetTaskRunner(std::move(previous_task_runner_));
|
|
|