OLD | NEW |
(Empty) | |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. |
| 4 |
| 5 #include "content/renderer/scheduler/task_queue_scheduler_default.h" |
| 6 |
| 7 namespace content { |
| 8 |
| 9 TaskQueueSchedulerDefault::TaskQueueSchedulerDefault() { |
| 10 } |
| 11 |
| 12 TaskQueueSchedulerDefault::~TaskQueueSchedulerDefault() { |
| 13 } |
| 14 |
| 15 void TaskQueueSchedulerDefault::DidQueueTask(TaskQueueManager::QueueId queue) { |
| 16 } |
| 17 |
| 18 void TaskQueueSchedulerDefault::SetWorkQueues( |
| 19 const std::vector<const base::TaskQueue*>& work_queues) { |
| 20 work_queues_ = work_queues; |
| 21 } |
| 22 |
| 23 bool TaskQueueSchedulerDefault::ShouldReloadWorkQueue( |
| 24 TaskQueueManager::QueueId queue) { |
| 25 return true; |
| 26 } |
| 27 |
| 28 bool TaskQueueSchedulerDefault::ChooseWorkQueueToService( |
| 29 TaskQueueManager::QueueId* out_queue) { |
| 30 DCHECK(work_queues_.size()); |
| 31 TaskQueueManager::QueueId chosen_queue = TaskQueueManager::kDefaultTaskQueue; |
| 32 for (size_t i = 1; i < work_queues_.size(); i++) { |
| 33 if (work_queues_[i]->empty()) |
| 34 continue; |
| 35 if (work_queues_[chosen_queue]->empty() || |
| 36 work_queues_[i]->front() < work_queues_[chosen_queue]->front()) { |
| 37 chosen_queue = static_cast<TaskQueueManager::QueueId>(i); |
| 38 } |
| 39 } |
| 40 *out_queue = chosen_queue; |
| 41 return true; |
| 42 } |
| 43 |
| 44 } // namespace content |
OLD | NEW |