OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 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 | 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 "content/renderer/scheduler/task_queue_manager.h" | 5 #include "content/renderer/scheduler/task_queue_manager.h" |
6 | 6 |
7 #include "base/test/test_simple_task_runner.h" | 7 #include "base/test/test_simple_task_runner.h" |
8 #include "base/threading/thread.h" | 8 #include "base/threading/thread.h" |
9 #include "cc/test/test_now_source.h" | 9 #include "cc/test/test_now_source.h" |
| 10 #include "content/renderer/scheduler/nestable_task_runner_for_test.h" |
| 11 #include "content/renderer/scheduler/renderer_scheduler_message_loop_delegate.h" |
10 #include "content/renderer/scheduler/task_queue_selector.h" | 12 #include "content/renderer/scheduler/task_queue_selector.h" |
11 #include "testing/gmock/include/gmock/gmock.h" | 13 #include "testing/gmock/include/gmock/gmock.h" |
12 | 14 |
13 using testing::ElementsAre; | 15 using testing::ElementsAre; |
14 using testing::_; | 16 using testing::_; |
15 | 17 |
16 namespace content { | 18 namespace content { |
17 namespace { | 19 namespace { |
18 | 20 |
19 class SelectorForTest : public TaskQueueSelector { | 21 class SelectorForTest : public TaskQueueSelector { |
(...skipping 29 matching lines...) Expand all Loading... |
49 std::vector<const base::TaskQueue*> work_queues_; | 51 std::vector<const base::TaskQueue*> work_queues_; |
50 | 52 |
51 DISALLOW_COPY_AND_ASSIGN(SelectorForTest); | 53 DISALLOW_COPY_AND_ASSIGN(SelectorForTest); |
52 }; | 54 }; |
53 | 55 |
54 class TaskQueueManagerTest : public testing::Test { | 56 class TaskQueueManagerTest : public testing::Test { |
55 protected: | 57 protected: |
56 void Initialize(size_t num_queues) { | 58 void Initialize(size_t num_queues) { |
57 test_task_runner_ = make_scoped_refptr(new base::TestSimpleTaskRunner()); | 59 test_task_runner_ = make_scoped_refptr(new base::TestSimpleTaskRunner()); |
58 selector_ = make_scoped_ptr(new SelectorForTest); | 60 selector_ = make_scoped_ptr(new SelectorForTest); |
59 manager_ = make_scoped_ptr( | 61 manager_ = make_scoped_ptr(new TaskQueueManager( |
60 new TaskQueueManager(num_queues, test_task_runner_, selector_.get())); | 62 num_queues, NestableTaskRunnerForTest::Create(test_task_runner_.get()), |
| 63 selector_.get())); |
61 EXPECT_EQ(num_queues, selector_->work_queues().size()); | 64 EXPECT_EQ(num_queues, selector_->work_queues().size()); |
62 } | 65 } |
63 | 66 |
64 void InitializeWithRealMessageLoop(size_t num_queues) { | 67 void InitializeWithRealMessageLoop(size_t num_queues) { |
65 message_loop_.reset(new base::MessageLoop()); | 68 message_loop_.reset(new base::MessageLoop()); |
66 selector_ = make_scoped_ptr(new SelectorForTest); | 69 selector_ = make_scoped_ptr(new SelectorForTest); |
67 manager_ = make_scoped_ptr(new TaskQueueManager( | 70 manager_ = make_scoped_ptr(new TaskQueueManager( |
68 num_queues, message_loop_->task_runner(), selector_.get())); | 71 num_queues, |
| 72 RendererSchedulerMessageLoopDelegate::Create(message_loop_.get()), |
| 73 selector_.get())); |
69 EXPECT_EQ(num_queues, selector_->work_queues().size()); | 74 EXPECT_EQ(num_queues, selector_->work_queues().size()); |
70 } | 75 } |
71 | 76 |
72 scoped_refptr<base::TestSimpleTaskRunner> test_task_runner_; | 77 scoped_refptr<base::TestSimpleTaskRunner> test_task_runner_; |
73 scoped_ptr<SelectorForTest> selector_; | 78 scoped_ptr<SelectorForTest> selector_; |
74 scoped_ptr<TaskQueueManager> manager_; | 79 scoped_ptr<TaskQueueManager> manager_; |
75 scoped_ptr<base::MessageLoop> message_loop_; | 80 scoped_ptr<base::MessageLoop> message_loop_; |
76 }; | 81 }; |
77 | 82 |
78 void PostFromNestedRunloop(base::MessageLoop* message_loop, | 83 void PostFromNestedRunloop(base::MessageLoop* message_loop, |
(...skipping 752 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
831 scoped_refptr<base::SingleThreadTaskRunner> runner = | 836 scoped_refptr<base::SingleThreadTaskRunner> runner = |
832 manager_->TaskRunnerForQueue(0); | 837 manager_->TaskRunnerForQueue(0); |
833 EXPECT_TRUE(runner->RunsTasksOnCurrentThread()); | 838 EXPECT_TRUE(runner->RunsTasksOnCurrentThread()); |
834 manager_.reset(); | 839 manager_.reset(); |
835 EXPECT_TRUE(runner->RunsTasksOnCurrentThread()); | 840 EXPECT_TRUE(runner->RunsTasksOnCurrentThread()); |
836 } | 841 } |
837 | 842 |
838 } // namespace | 843 } // namespace |
839 } // namespace content | 844 } // namespace content |
840 | 845 |
OLD | NEW |