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 f0ba9aa102c4f38d1a273762dad9b60e7b4a28fe..ec8bc259380430c43ff6679e1f1873aed34dffaa 100644 |
| --- a/base/test/test_mock_time_task_runner.cc |
| +++ b/base/test/test_mock_time_task_runner.cc |
| @@ -83,9 +83,15 @@ struct TestMockTimeTaskRunner::TestOrderedPendingTask |
| TimeDelta delay, |
| size_t ordinal, |
| TestNestability nestability); |
| + TestOrderedPendingTask(TestOrderedPendingTask&&); |
| ~TestOrderedPendingTask(); |
| + TestOrderedPendingTask& operator=(TestOrderedPendingTask&&); |
| + |
| size_t ordinal; |
| + |
| + private: |
| + DISALLOW_COPY_AND_ASSIGN(TestOrderedPendingTask); |
| }; |
| TestMockTimeTaskRunner::TestOrderedPendingTask::TestOrderedPendingTask() |
| @@ -93,6 +99,9 @@ TestMockTimeTaskRunner::TestOrderedPendingTask::TestOrderedPendingTask() |
| } |
| TestMockTimeTaskRunner::TestOrderedPendingTask::TestOrderedPendingTask( |
| + TestOrderedPendingTask&&) = default; |
| + |
| +TestMockTimeTaskRunner::TestOrderedPendingTask::TestOrderedPendingTask( |
| const tracked_objects::Location& location, |
| const Closure& task, |
| TimeTicks post_time, |
| @@ -100,12 +109,15 @@ TestMockTimeTaskRunner::TestOrderedPendingTask::TestOrderedPendingTask( |
| size_t ordinal, |
| TestNestability nestability) |
| : base::TestPendingTask(location, task, post_time, delay, nestability), |
| - ordinal(ordinal) { |
| -} |
| + ordinal(ordinal) {} |
| TestMockTimeTaskRunner::TestOrderedPendingTask::~TestOrderedPendingTask() { |
| } |
| +TestMockTimeTaskRunner::TestOrderedPendingTask& |
| +TestMockTimeTaskRunner::TestOrderedPendingTask::operator=( |
| + TestOrderedPendingTask&&) = default; |
| + |
| // TestMockTimeTaskRunner ----------------------------------------------------- |
| bool TestMockTimeTaskRunner::TemporalOrder::operator()( |
| @@ -176,7 +188,8 @@ std::unique_ptr<TickClock> TestMockTimeTaskRunner::GetMockTickClock() const { |
| std::deque<TestPendingTask> TestMockTimeTaskRunner::TakePendingTasks() { |
| std::deque<TestPendingTask> tasks; |
| while (!tasks_.empty()) { |
| - tasks.push_back(tasks_.top()); |
| + tasks.push_back( |
| + std::move(const_cast<TestOrderedPendingTask&>(tasks_.top()))); |
|
dcheng
2017/01/24 09:15:52
Nit: comment here too.
tzik
2017/01/24 11:46:27
Done.
|
| tasks_.pop(); |
| } |
| return tasks; |
| @@ -248,7 +261,7 @@ void TestMockTimeTaskRunner::ProcessAllTasksNoLaterThan(TimeDelta max_delta) { |
| // be less than |now_ticks_|. ForwardClocksUntilTickTime() takes care of not |
| // moving the clock backwards in this case. |
| ForwardClocksUntilTickTime(task_info.GetTimeToRun()); |
| - task_info.task.Run(); |
| + std::move(task_info.task).Run(); |
| OnAfterTaskRun(); |
| } |
| } |
| @@ -268,7 +281,7 @@ bool TestMockTimeTaskRunner::DequeueNextTask(const TimeTicks& reference, |
| AutoLock scoped_lock(tasks_lock_); |
| if (!tasks_.empty() && |
| (tasks_.top().GetTimeToRun() - reference) <= max_delta) { |
| - *next_task = tasks_.top(); |
| + *next_task = std::move(const_cast<TestOrderedPendingTask&>(tasks_.top())); |
|
dcheng
2017/01/24 09:15:52
And here.
tzik
2017/01/24 11:46:27
Done.
|
| tasks_.pop(); |
| return true; |
| } |