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 9dc4bbcd2dacb680d586699576a632e286aab037..395a2a64e0d11caa4c2e9bfeeb53cedf85181a47 100644 |
--- a/cc/test/ordered_simple_task_runner.cc |
+++ b/cc/test/ordered_simple_task_runner.cc |
@@ -198,6 +198,11 @@ bool OrderedSimpleTaskRunner::RunTasksWhile( |
} |
while (pending_tasks_.size() > 0) { |
+ // Skip canceled tasks. |
+ if (pending_tasks_.begin()->task.IsCancelled()) { |
+ pending_tasks_.erase(pending_tasks_.begin()); |
+ continue; |
+ } |
// Check if we should continue to run pending tasks. |
bool condition_success = true; |
for (std::vector<base::Callback<bool(void)>>::iterator it = |