| 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
|
|
|