| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "platform/scheduler/base/work_queue_sets.h" | 5 #include "platform/scheduler/base/work_queue_sets.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include "base/memory/ptr_util.h" | 9 #include "base/memory/ptr_util.h" |
| 10 #include "platform/scheduler/base/work_queue.h" | 10 #include "platform/scheduler/base/work_queue.h" |
| (...skipping 24 matching lines...) Expand all Loading... |
| 35 }; | 35 }; |
| 36 | 36 |
| 37 WorkQueue* NewTaskQueue(const char* queue_name) { | 37 WorkQueue* NewTaskQueue(const char* queue_name) { |
| 38 WorkQueue* queue = | 38 WorkQueue* queue = |
| 39 new WorkQueue(nullptr, "test", WorkQueue::QueueType::IMMEDIATE); | 39 new WorkQueue(nullptr, "test", WorkQueue::QueueType::IMMEDIATE); |
| 40 work_queues_.push_back(base::WrapUnique(queue)); | 40 work_queues_.push_back(base::WrapUnique(queue)); |
| 41 work_queue_sets_->AddQueue(queue, TaskQueue::CONTROL_PRIORITY); | 41 work_queue_sets_->AddQueue(queue, TaskQueue::CONTROL_PRIORITY); |
| 42 return queue; | 42 return queue; |
| 43 } | 43 } |
| 44 | 44 |
| 45 TaskQueueImpl::Task FakeTaskWithEnqueueOrder(int enqueue_order) { | 45 TaskQueueImpl::Task FakeTaskWithEnqueueOrder(int sequence_number) { |
| 46 TaskQueueImpl::Task fake_task(FROM_HERE, base::Closure(), base::TimeTicks(), | 46 TaskQueueImpl::Task fake_task(FROM_HERE, base::Closure(), |
| 47 0, true); | 47 {base::TimeTicks(), sequence_number}, true); |
| 48 fake_task.set_enqueue_order(enqueue_order); | |
| 49 return fake_task; | 48 return fake_task; |
| 50 } | 49 } |
| 51 | 50 |
| 52 std::vector<std::unique_ptr<WorkQueue>> work_queues_; | 51 std::vector<std::unique_ptr<WorkQueue>> work_queues_; |
| 53 std::unique_ptr<WorkQueueSets> work_queue_sets_; | 52 std::unique_ptr<WorkQueueSets> work_queue_sets_; |
| 54 }; | 53 }; |
| 55 | 54 |
| 56 TEST_F(WorkQueueSetsTest, ChangeSetIndex) { | 55 TEST_F(WorkQueueSetsTest, ChangeSetIndex) { |
| 57 WorkQueue* work_queue = NewTaskQueue("queue"); | 56 WorkQueue* work_queue = NewTaskQueue("queue"); |
| 58 size_t set = TaskQueue::NORMAL_PRIORITY; | 57 size_t set = TaskQueue::NORMAL_PRIORITY; |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 102 WorkQueue* work_queue = NewTaskQueue("queue"); | 101 WorkQueue* work_queue = NewTaskQueue("queue"); |
| 103 work_queue->Push(FakeTaskWithEnqueueOrder(10)); | 102 work_queue->Push(FakeTaskWithEnqueueOrder(10)); |
| 104 size_t set = 1; | 103 size_t set = 1; |
| 105 work_queue_sets_->ChangeSetIndex(work_queue, set); | 104 work_queue_sets_->ChangeSetIndex(work_queue, set); |
| 106 | 105 |
| 107 WorkQueue* selected_work_queue; | 106 WorkQueue* selected_work_queue; |
| 108 EnqueueOrder enqueue_order; | 107 EnqueueOrder enqueue_order; |
| 109 EXPECT_TRUE(work_queue_sets_->GetOldestQueueAndEnqueueOrderInSet( | 108 EXPECT_TRUE(work_queue_sets_->GetOldestQueueAndEnqueueOrderInSet( |
| 110 set, &selected_work_queue, &enqueue_order)); | 109 set, &selected_work_queue, &enqueue_order)); |
| 111 EXPECT_EQ(work_queue, selected_work_queue); | 110 EXPECT_EQ(work_queue, selected_work_queue); |
| 112 EXPECT_EQ(10u, enqueue_order); | 111 EXPECT_EQ(10u, enqueue_order.sequence_num); |
| 113 } | 112 } |
| 114 | 113 |
| 115 TEST_F(WorkQueueSetsTest, GetOldestQueueInSet_MultipleAgesInSet) { | 114 TEST_F(WorkQueueSetsTest, GetOldestQueueInSet_MultipleAgesInSet) { |
| 116 WorkQueue* queue1 = NewTaskQueue("queue1"); | 115 WorkQueue* queue1 = NewTaskQueue("queue1"); |
| 117 WorkQueue* queue2 = NewTaskQueue("queue2"); | 116 WorkQueue* queue2 = NewTaskQueue("queue2"); |
| 118 WorkQueue* queue3 = NewTaskQueue("queue2"); | 117 WorkQueue* queue3 = NewTaskQueue("queue2"); |
| 119 queue1->Push(FakeTaskWithEnqueueOrder(6)); | 118 queue1->Push(FakeTaskWithEnqueueOrder(6)); |
| 120 queue2->Push(FakeTaskWithEnqueueOrder(5)); | 119 queue2->Push(FakeTaskWithEnqueueOrder(5)); |
| 121 queue3->Push(FakeTaskWithEnqueueOrder(4)); | 120 queue3->Push(FakeTaskWithEnqueueOrder(4)); |
| 122 size_t set = 2; | 121 size_t set = 2; |
| (...skipping 165 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 288 | 287 |
| 289 queue1->InsertFence(1); | 288 queue1->InsertFence(1); |
| 290 | 289 |
| 291 EXPECT_TRUE(work_queue_sets_->GetOldestQueueInSet(set, &selected_work_queue)); | 290 EXPECT_TRUE(work_queue_sets_->GetOldestQueueInSet(set, &selected_work_queue)); |
| 292 EXPECT_EQ(selected_work_queue, queue2); | 291 EXPECT_EQ(selected_work_queue, queue2); |
| 293 } | 292 } |
| 294 | 293 |
| 295 } // namespace internal | 294 } // namespace internal |
| 296 } // namespace scheduler | 295 } // namespace scheduler |
| 297 } // namespace blink | 296 } // namespace blink |
| OLD | NEW |