| Index: net/quic/test_tools/test_task_runner.cc
|
| diff --git a/net/quic/test_tools/test_task_runner.cc b/net/quic/test_tools/test_task_runner.cc
|
| index 5e6e647d9c7f98895cb35a41e6507f34f21c871c..3d427710e8f4ce18c7148683d4a72ef6a5f58480 100644
|
| --- a/net/quic/test_tools/test_task_runner.cc
|
| +++ b/net/quic/test_tools/test_task_runner.cc
|
| @@ -20,8 +20,9 @@ bool TestTaskRunner::PostDelayedTask(const tracked_objects::Location& from_here,
|
| const base::Closure& task,
|
| base::TimeDelta delay) {
|
| EXPECT_GE(delay, base::TimeDelta());
|
| - tasks_.push_back(PostedTask(from_here, task, clock_->NowInTicks(), delay,
|
| - base::TestPendingTask::NESTABLE));
|
| + base::TestPendingTaskInfo task_info(from_here, clock_->NowInTicks(), delay,
|
| + base::TestPendingTaskInfo::NESTABLE);
|
| + tasks_.push_back(std::make_pair(task_info, task));
|
| return false;
|
| }
|
|
|
| @@ -38,18 +39,20 @@ void TestTaskRunner::RunNextTask() {
|
| // and then run the task.
|
| std::vector<PostedTask>::iterator next = FindNextTask();
|
| DCHECK(next != tasks_.end());
|
| +
|
| + const base::TestPendingTaskInfo& task_info = next->first;
|
| clock_->AdvanceTime(QuicTime::Delta::FromMicroseconds(
|
| - (next->GetTimeToRun() - clock_->NowInTicks()).InMicroseconds()));
|
| - PostedTask task = *next;
|
| + (task_info.GetTimeToRun() - clock_->NowInTicks()).InMicroseconds()));
|
| + base::OnceClosure task = std::move(next->second);
|
| tasks_.erase(next);
|
| - task.task.Run();
|
| + std::move(task).Run();
|
| }
|
|
|
| namespace {
|
|
|
| struct ShouldRunBeforeLessThan {
|
| bool operator()(const PostedTask& task1, const PostedTask& task2) const {
|
| - return task1.ShouldRunBefore(task2);
|
| + return task1.first.ShouldRunBefore(task2.first);
|
| }
|
| };
|
|
|
|
|