| 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 743 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 822 selector_->AppendQueueToService(0); | 827 selector_->AppendQueueToService(0); |
| 823 | 828 |
| 824 EXPECT_CALL(observer, WillProcessTask(_)).Times(1); | 829 EXPECT_CALL(observer, WillProcessTask(_)).Times(1); |
| 825 EXPECT_CALL(observer, DidProcessTask(_)).Times(0); | 830 EXPECT_CALL(observer, DidProcessTask(_)).Times(0); |
| 826 message_loop_->RunUntilIdle(); | 831 message_loop_->RunUntilIdle(); |
| 827 } | 832 } |
| 828 | 833 |
| 829 } // namespace | 834 } // namespace |
| 830 } // namespace content | 835 } // namespace content |
| 831 | 836 |
| OLD | NEW |