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/child/scheduler/scheduler_helper.h" | 5 #include "content/child/scheduler/scheduler_helper.h" |
6 | 6 |
7 #include "base/callback.h" | 7 #include "base/callback.h" |
8 #include "cc/test/ordered_simple_task_runner.h" | 8 #include "cc/test/ordered_simple_task_runner.h" |
| 9 #include "cc/test/test_now_source.h" |
9 #include "content/child/scheduler/nestable_task_runner_for_test.h" | 10 #include "content/child/scheduler/nestable_task_runner_for_test.h" |
10 #include "content/child/scheduler/scheduler_message_loop_delegate.h" | 11 #include "content/child/scheduler/scheduler_message_loop_delegate.h" |
| 12 #include "content/child/scheduler/task_queue_manager.h" |
| 13 #include "content/test/test_time_source.h" |
11 #include "testing/gmock/include/gmock/gmock.h" | 14 #include "testing/gmock/include/gmock/gmock.h" |
12 #include "testing/gtest/include/gtest/gtest.h" | 15 #include "testing/gtest/include/gtest/gtest.h" |
13 | 16 |
14 using testing::_; | 17 using testing::_; |
15 using testing::AnyNumber; | 18 using testing::AnyNumber; |
16 using testing::Invoke; | 19 using testing::Invoke; |
17 using testing::Return; | 20 using testing::Return; |
18 | 21 |
19 namespace content { | 22 namespace content { |
20 | 23 |
(...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
144 : new cc::OrderedSimpleTaskRunner(clock_, false)), | 147 : new cc::OrderedSimpleTaskRunner(clock_, false)), |
145 message_loop_(message_loop), | 148 message_loop_(message_loop), |
146 nestable_task_runner_( | 149 nestable_task_runner_( |
147 CreateNestableSingleThreadTaskRunner(message_loop, | 150 CreateNestableSingleThreadTaskRunner(message_loop, |
148 mock_task_runner_)), | 151 mock_task_runner_)), |
149 scheduler_helper_(new SchedulerHelperForTest( | 152 scheduler_helper_(new SchedulerHelperForTest( |
150 nestable_task_runner_, | 153 nestable_task_runner_, |
151 required_quiescence_duration_before_long_idle_period)), | 154 required_quiescence_duration_before_long_idle_period)), |
152 default_task_runner_(scheduler_helper_->DefaultTaskRunner()), | 155 default_task_runner_(scheduler_helper_->DefaultTaskRunner()), |
153 idle_task_runner_(scheduler_helper_->IdleTaskRunner()) { | 156 idle_task_runner_(scheduler_helper_->IdleTaskRunner()) { |
154 scheduler_helper_->SetTimeSourceForTesting(clock_); | 157 scheduler_helper_->SetTimeSourceForTesting( |
| 158 make_scoped_ptr(new TestTimeSource(clock_))); |
| 159 scheduler_helper_->GetTaskQueueManagerForTesting()->SetTimeSourceForTesting( |
| 160 make_scoped_ptr(new TestTimeSource(clock_))); |
155 } | 161 } |
156 | 162 |
157 ~BaseSchedulerHelperTest() override {} | 163 ~BaseSchedulerHelperTest() override {} |
158 | 164 |
159 void TearDown() override { | 165 void TearDown() override { |
160 DCHECK(!mock_task_runner_.get() || !message_loop_.get()); | 166 DCHECK(!mock_task_runner_.get() || !message_loop_.get()); |
161 if (mock_task_runner_.get()) { | 167 if (mock_task_runner_.get()) { |
162 // Check that all tests stop posting tasks. | 168 // Check that all tests stop posting tasks. |
163 mock_task_runner_->SetAutoAdvanceNowToPendingTasks(true); | 169 mock_task_runner_->SetAutoAdvanceNowToPendingTasks(true); |
164 while (mock_task_runner_->RunUntilIdle()) { | 170 while (mock_task_runner_->RunUntilIdle()) { |
(...skipping 768 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
933 clock_->Now() + | 939 clock_->Now() + |
934 base::TimeDelta::FromMilliseconds(kQuiescenceDelayMs + kLongIdlePeriodMs); | 940 base::TimeDelta::FromMilliseconds(kQuiescenceDelayMs + kLongIdlePeriodMs); |
935 default_task_runner_->PostTask(FROM_HERE, base::Bind(NullTask)); | 941 default_task_runner_->PostTask(FROM_HERE, base::Bind(NullTask)); |
936 RunUntilIdle(); | 942 RunUntilIdle(); |
937 | 943 |
938 EXPECT_EQ(1, run_count); | 944 EXPECT_EQ(1, run_count); |
939 EXPECT_EQ(expected_deadline, deadline_in_task); | 945 EXPECT_EQ(expected_deadline, deadline_in_task); |
940 } | 946 } |
941 | 947 |
942 } // namespace content | 948 } // namespace content |
OLD | NEW |