Chromium Code Reviews| 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 "components/scheduler/renderer/renderer_scheduler_impl.h" | 5 #include "components/scheduler/renderer/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 "cc/test/test_now_source.h" | 10 #include "cc/test/test_now_source.h" |
| (...skipping 196 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 207 scheduler_->WillBeginFrame(cc::BeginFrameArgs::Create( | 207 scheduler_->WillBeginFrame(cc::BeginFrameArgs::Create( |
| 208 BEGINFRAME_FROM_HERE, clock_->Now(), base::TimeTicks(), | 208 BEGINFRAME_FROM_HERE, clock_->Now(), base::TimeTicks(), |
| 209 base::TimeDelta::FromMilliseconds(1000), cc::BeginFrameArgs::NORMAL)); | 209 base::TimeDelta::FromMilliseconds(1000), cc::BeginFrameArgs::NORMAL)); |
| 210 scheduler_->DidCommitFrameToCompositor(); | 210 scheduler_->DidCommitFrameToCompositor(); |
| 211 } | 211 } |
| 212 | 212 |
| 213 void EnableIdleTasks() { DoMainFrame(); } | 213 void EnableIdleTasks() { DoMainFrame(); } |
| 214 | 214 |
| 215 Policy CurrentPolicy() { return scheduler_->current_policy_; } | 215 Policy CurrentPolicy() { return scheduler_->current_policy_; } |
| 216 | 216 |
| 217 bool BeginMainFrameOnCriticalPath() { | |
| 218 return scheduler_->begin_main_frame_on_critical_path_; | |
| 219 } | |
| 220 | |
| 217 // Helper for posting several tasks of specific types. |task_descriptor| is a | 221 // Helper for posting several tasks of specific types. |task_descriptor| is a |
| 218 // string with space delimited task identifiers. The first letter of each | 222 // string with space delimited task identifiers. The first letter of each |
| 219 // task identifier specifies the task type: | 223 // task identifier specifies the task type: |
| 220 // - 'D': Default task | 224 // - 'D': Default task |
| 221 // - 'C': Compositor task | 225 // - 'C': Compositor task |
| 222 // - 'L': Loading task | 226 // - 'L': Loading task |
| 223 // - 'I': Idle task | 227 // - 'I': Idle task |
| 224 // - 'T': Timer task | 228 // - 'T': Timer task |
| 225 void PostTestTasks(std::vector<std::string>* run_order, | 229 void PostTestTasks(std::vector<std::string>* run_order, |
| 226 const std::string& task_descriptor) { | 230 const std::string& task_descriptor) { |
| (...skipping 1408 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1635 | 1639 |
| 1636 TEST_F(RendererSchedulerImplTest, MismatchedDidHandleInputEventOnMainThread) { | 1640 TEST_F(RendererSchedulerImplTest, MismatchedDidHandleInputEventOnMainThread) { |
| 1637 // This should not DCHECK because there was no corresponding compositor side | 1641 // This should not DCHECK because there was no corresponding compositor side |
| 1638 // call to DidHandleInputEventOnCompositorThread with | 1642 // call to DidHandleInputEventOnCompositorThread with |
| 1639 // INPUT_EVENT_ACK_STATE_NOT_CONSUMED. There are legitimate reasons for the | 1643 // INPUT_EVENT_ACK_STATE_NOT_CONSUMED. There are legitimate reasons for the |
| 1640 // compositor to not be there and we don't want to make debugging impossible. | 1644 // compositor to not be there and we don't want to make debugging impossible. |
| 1641 scheduler_->DidHandleInputEventOnMainThread( | 1645 scheduler_->DidHandleInputEventOnMainThread( |
| 1642 FakeInputEvent(blink::WebInputEvent::GestureFlingStart)); | 1646 FakeInputEvent(blink::WebInputEvent::GestureFlingStart)); |
| 1643 } | 1647 } |
| 1644 | 1648 |
| 1649 TEST_F(RendererSchedulerImplTest, BeginMainFrameOnCriticalPath) { | |
| 1650 ASSERT_FALSE(BeginMainFrameOnCriticalPath()); | |
| 1651 | |
| 1652 scheduler_->WillBeginFrame(cc::BeginFrameArgs::Create( | |
| 1653 BEGINFRAME_FROM_HERE, clock_->Now(), base::TimeTicks(), | |
| 1654 base::TimeDelta::FromMilliseconds(1000), cc::BeginFrameArgs::NORMAL)); | |
| 1655 ASSERT_TRUE(BeginMainFrameOnCriticalPath()); | |
| 1656 | |
| 1657 scheduler_->WillBeginFrame(cc::BeginFrameArgs::Create( | |
|
brianderson
2015/06/09 01:12:42
Do you need to add another argument to Create?
Sami
2015/06/09 09:47:34
We did that in the first patch set but I was think
brianderson
2015/06/10 01:13:35
Ah ok. This is good then.
| |
| 1658 BEGINFRAME_FROM_HERE, clock_->Now(), base::TimeTicks(), | |
| 1659 base::TimeDelta::FromMilliseconds(1000), cc::BeginFrameArgs::NORMAL)); | |
| 1660 ASSERT_FALSE(BeginMainFrameOnCriticalPath()); | |
| 1661 } | |
| 1662 | |
| 1645 } // namespace scheduler | 1663 } // namespace scheduler |
| OLD | NEW |