| 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/renderer_scheduler_impl.h" | 5 #include "content/renderer/scheduler/renderer_scheduler_impl.h" |
| 6 | 6 |
| 7 #include "base/callback.h" | 7 #include "base/callback.h" |
| 8 #include "cc/output/begin_frame_args.h" | 8 #include "cc/output/begin_frame_args.h" |
| 9 #include "cc/test/ordered_simple_task_runner.h" | 9 #include "cc/test/ordered_simple_task_runner.h" |
| 10 #include "content/renderer/scheduler/nestable_task_runner_for_test.h" | 10 #include "content/renderer/scheduler/nestable_task_runner_for_test.h" |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 50 : clock_(cc::TestNowSource::Create(5000)), | 50 : clock_(cc::TestNowSource::Create(5000)), |
| 51 mock_task_runner_(new cc::OrderedSimpleTaskRunner(clock_, false)), | 51 mock_task_runner_(new cc::OrderedSimpleTaskRunner(clock_, false)), |
| 52 nestable_task_runner_( | 52 nestable_task_runner_( |
| 53 NestableTaskRunnerForTest::Create(mock_task_runner_)), | 53 NestableTaskRunnerForTest::Create(mock_task_runner_)), |
| 54 scheduler_(new RendererSchedulerImpl(nestable_task_runner_)), | 54 scheduler_(new RendererSchedulerImpl(nestable_task_runner_)), |
| 55 default_task_runner_(scheduler_->DefaultTaskRunner()), | 55 default_task_runner_(scheduler_->DefaultTaskRunner()), |
| 56 compositor_task_runner_(scheduler_->CompositorTaskRunner()), | 56 compositor_task_runner_(scheduler_->CompositorTaskRunner()), |
| 57 loading_task_runner_(scheduler_->LoadingTaskRunner()), | 57 loading_task_runner_(scheduler_->LoadingTaskRunner()), |
| 58 idle_task_runner_(scheduler_->IdleTaskRunner()) { | 58 idle_task_runner_(scheduler_->IdleTaskRunner()) { |
| 59 scheduler_->SetTimeSourceForTesting(clock_); | 59 scheduler_->SetTimeSourceForTesting(clock_); |
| 60 scheduler_->SetLongIdlePeriodsEnabledForTesting(true); | |
| 61 } | 60 } |
| 62 | 61 |
| 63 RendererSchedulerImplTest(base::MessageLoop* message_loop) | 62 RendererSchedulerImplTest(base::MessageLoop* message_loop) |
| 64 : clock_(cc::TestNowSource::Create(5000)), | 63 : clock_(cc::TestNowSource::Create(5000)), |
| 65 message_loop_(message_loop), | 64 message_loop_(message_loop), |
| 66 nestable_task_runner_( | 65 nestable_task_runner_( |
| 67 RendererSchedulerMessageLoopDelegate::Create(message_loop)), | 66 RendererSchedulerMessageLoopDelegate::Create(message_loop)), |
| 68 scheduler_(new RendererSchedulerImpl(nestable_task_runner_)), | 67 scheduler_(new RendererSchedulerImpl(nestable_task_runner_)), |
| 69 default_task_runner_(scheduler_->DefaultTaskRunner()), | 68 default_task_runner_(scheduler_->DefaultTaskRunner()), |
| 70 compositor_task_runner_(scheduler_->CompositorTaskRunner()), | 69 compositor_task_runner_(scheduler_->CompositorTaskRunner()), |
| 71 loading_task_runner_(scheduler_->LoadingTaskRunner()), | 70 loading_task_runner_(scheduler_->LoadingTaskRunner()), |
| 72 idle_task_runner_(scheduler_->IdleTaskRunner()) { | 71 idle_task_runner_(scheduler_->IdleTaskRunner()) { |
| 73 scheduler_->SetTimeSourceForTesting(clock_); | 72 scheduler_->SetTimeSourceForTesting(clock_); |
| 74 scheduler_->SetLongIdlePeriodsEnabledForTesting(true); | |
| 75 } | 73 } |
| 76 ~RendererSchedulerImplTest() override {} | 74 ~RendererSchedulerImplTest() override {} |
| 77 | 75 |
| 78 void TearDown() override { | 76 void TearDown() override { |
| 79 DCHECK(!mock_task_runner_.get() || !message_loop_.get()); | 77 DCHECK(!mock_task_runner_.get() || !message_loop_.get()); |
| 80 if (mock_task_runner_.get()) { | 78 if (mock_task_runner_.get()) { |
| 81 // Check that all tests stop posting tasks. | 79 // Check that all tests stop posting tasks. |
| 82 mock_task_runner_->SetAutoAdvanceNowToPendingTasks(true); | 80 mock_task_runner_->SetAutoAdvanceNowToPendingTasks(true); |
| 83 while (mock_task_runner_->RunUntilIdle()) { | 81 while (mock_task_runner_->RunUntilIdle()) { |
| 84 } | 82 } |
| (...skipping 1212 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1297 | 1295 |
| 1298 // Next long idle period will be for the maximum time, so | 1296 // Next long idle period will be for the maximum time, so |
| 1299 // CanExceedIdleDeadlineIfRequired should return true. | 1297 // CanExceedIdleDeadlineIfRequired should return true. |
| 1300 scheduler_->WillBeginFrame(cc::BeginFrameArgs::Create( | 1298 scheduler_->WillBeginFrame(cc::BeginFrameArgs::Create( |
| 1301 BEGINFRAME_FROM_HERE, clock_->Now(), base::TimeTicks(), | 1299 BEGINFRAME_FROM_HERE, clock_->Now(), base::TimeTicks(), |
| 1302 base::TimeDelta::FromMilliseconds(1000), cc::BeginFrameArgs::NORMAL)); | 1300 base::TimeDelta::FromMilliseconds(1000), cc::BeginFrameArgs::NORMAL)); |
| 1303 EXPECT_FALSE(scheduler_->CanExceedIdleDeadlineIfRequired()); | 1301 EXPECT_FALSE(scheduler_->CanExceedIdleDeadlineIfRequired()); |
| 1304 } | 1302 } |
| 1305 | 1303 |
| 1306 } // namespace content | 1304 } // namespace content |
| OLD | NEW |