Index: content/renderer/scheduler/task_queue_scheduler_default.cc |
diff --git a/content/renderer/scheduler/task_queue_scheduler_default.cc b/content/renderer/scheduler/task_queue_scheduler_default.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..324868b5e4f1e442208b43754819cc704191ea8f |
--- /dev/null |
+++ b/content/renderer/scheduler/task_queue_scheduler_default.cc |
@@ -0,0 +1,44 @@ |
+// Copyright 2014 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#include "content/renderer/scheduler/task_queue_scheduler_default.h" |
+ |
+namespace content { |
+ |
+TaskQueueSchedulerDefault::TaskQueueSchedulerDefault() { |
+} |
+ |
+TaskQueueSchedulerDefault::~TaskQueueSchedulerDefault() { |
+} |
+ |
+void TaskQueueSchedulerDefault::DidQueueTask(TaskQueueManager::QueueId queue) { |
+} |
+ |
+void TaskQueueSchedulerDefault::SetWorkQueues( |
+ const std::vector<const base::TaskQueue*>& work_queues) { |
+ work_queues_ = work_queues; |
+} |
+ |
+bool TaskQueueSchedulerDefault::ShouldReloadWorkQueue( |
+ TaskQueueManager::QueueId queue) { |
+ return true; |
+} |
+ |
+bool TaskQueueSchedulerDefault::ChooseWorkQueueToService( |
+ TaskQueueManager::QueueId* out_queue) { |
+ DCHECK(work_queues_.size()); |
+ TaskQueueManager::QueueId chosen_queue = TaskQueueManager::kDefaultTaskQueue; |
+ for (size_t i = 1; i < work_queues_.size(); i++) { |
+ if (work_queues_[i]->empty()) |
+ continue; |
+ if (work_queues_[chosen_queue]->empty() || |
+ work_queues_[i]->front() < work_queues_[chosen_queue]->front()) { |
+ chosen_queue = static_cast<TaskQueueManager::QueueId>(i); |
+ } |
+ } |
+ *out_queue = chosen_queue; |
+ return true; |
+} |
+ |
+} // namespace content |