Index: cc/test/ordered_simple_task_runner.cc |
diff --git a/cc/test/ordered_simple_task_runner.cc b/cc/test/ordered_simple_task_runner.cc |
index 188ffe72b5f8adea6208635d68263b3139811000..21ec2ac24a7d4605c6aae6aa1dd25479d5449b8e 100644 |
--- a/cc/test/ordered_simple_task_runner.cc |
+++ b/cc/test/ordered_simple_task_runner.cc |
@@ -7,8 +7,6 @@ |
#include <algorithm> |
#include <deque> |
-#include "base/logging.h" |
- |
namespace { |
bool TestPendingTaskComparator(const base::TestPendingTask& lhs, |
@@ -20,8 +18,6 @@ bool TestPendingTaskComparator(const base::TestPendingTask& lhs, |
namespace cc { |
-OrderedSimpleTaskRunner::OrderedSimpleTaskRunner() {} |
- |
OrderedSimpleTaskRunner::~OrderedSimpleTaskRunner() {} |
void OrderedSimpleTaskRunner::RunPendingTasks() { |
@@ -32,8 +28,18 @@ void OrderedSimpleTaskRunner::RunPendingTasks() { |
std::stable_sort(tasks_to_run.begin(), |
tasks_to_run.end(), |
TestPendingTaskComparator); |
+ |
for (std::deque<base::TestPendingTask>::iterator it = tasks_to_run.begin(); |
it != tasks_to_run.end(); ++it) { |
+ base::TimeTicks task_time = it->GetTimeToRun(); |
+ if (Now() < task_time) { |
+ if (advance_now_) { |
+ SetNow(task_time); |
+ } else { |
+ pending_tasks_.push_back(*it); |
+ continue; |
+ } |
+ } |
it->task.Run(); |
} |
} |