OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 "platform/scheduler/child/idle_helper.h" | 5 #include "platform/scheduler/child/idle_helper.h" |
6 | 6 |
7 #include <utility> | 7 #include <utility> |
8 | 8 |
9 #include "base/callback.h" | 9 #include "base/callback.h" |
10 #include "base/macros.h" | 10 #include "base/macros.h" |
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
102 deadlines->push_back(deadline); | 102 deadlines->push_back(deadline); |
103 (*run_count)++; | 103 (*run_count)++; |
104 clock->Advance(advance_time); | 104 clock->Advance(advance_time); |
105 } | 105 } |
106 | 106 |
107 void RepeatingTask(base::SingleThreadTaskRunner* task_runner, | 107 void RepeatingTask(base::SingleThreadTaskRunner* task_runner, |
108 int num_repeats, | 108 int num_repeats, |
109 base::TimeDelta delay) { | 109 base::TimeDelta delay) { |
110 if (num_repeats > 1) { | 110 if (num_repeats > 1) { |
111 task_runner->PostDelayedTask( | 111 task_runner->PostDelayedTask( |
112 FROM_HERE, base::Bind(&RepeatingTask, base::Unretained(task_runner), | 112 FROM_HERE, |
113 num_repeats - 1, delay), | 113 base::Bind(&RepeatingTask, base::Unretained(task_runner), |
| 114 num_repeats - 1, delay), |
114 delay); | 115 delay); |
115 } | 116 } |
116 } | 117 } |
117 | 118 |
118 void UpdateClockIdleTestTask(base::SimpleTestTickClock* clock, | 119 void UpdateClockIdleTestTask(base::SimpleTestTickClock* clock, |
119 int* run_count, | 120 int* run_count, |
120 base::TimeTicks set_time, | 121 base::TimeTicks set_time, |
121 base::TimeTicks deadline) { | 122 base::TimeTicks deadline) { |
122 clock->Advance(set_time - clock->NowTicks()); | 123 clock->Advance(set_time - clock->NowTicks()); |
123 (*run_count)++; | 124 (*run_count)++; |
(...skipping 316 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
440 idle_helper_->StartIdlePeriod( | 441 idle_helper_->StartIdlePeriod( |
441 IdleHelper::IdlePeriodState::IN_SHORT_IDLE_PERIOD, clock_->NowTicks(), | 442 IdleHelper::IdlePeriodState::IN_SHORT_IDLE_PERIOD, clock_->NowTicks(), |
442 clock_->NowTicks() + base::TimeDelta::FromMilliseconds(10)); | 443 clock_->NowTicks() + base::TimeDelta::FromMilliseconds(10)); |
443 } | 444 } |
444 | 445 |
445 TEST_F(IdleHelperTestWithIdlePeriodObserver, TestEnterAndExitIdlePeriod) { | 446 TEST_F(IdleHelperTestWithIdlePeriodObserver, TestEnterAndExitIdlePeriod) { |
446 BaseIdleHelperTest* fixture = this; | 447 BaseIdleHelperTest* fixture = this; |
447 ON_CALL(*idle_helper_, OnIdlePeriodStarted()) | 448 ON_CALL(*idle_helper_, OnIdlePeriodStarted()) |
448 .WillByDefault( | 449 .WillByDefault( |
449 Invoke([fixture]() { EXPECT_TRUE(fixture->IsInIdlePeriod()); })); | 450 Invoke([fixture]() { EXPECT_TRUE(fixture->IsInIdlePeriod()); })); |
450 ON_CALL(*idle_helper_, OnIdlePeriodEnded()) | 451 ON_CALL(*idle_helper_, OnIdlePeriodEnded()).WillByDefault(Invoke([fixture]() { |
451 .WillByDefault( | 452 EXPECT_FALSE(fixture->IsInIdlePeriod()); |
452 Invoke([fixture]() { EXPECT_FALSE(fixture->IsInIdlePeriod()); })); | 453 })); |
453 | 454 |
454 ExpectIdlePeriodStartsAndEnds(Exactly(1)); | 455 ExpectIdlePeriodStartsAndEnds(Exactly(1)); |
455 | 456 |
456 idle_helper_->StartIdlePeriod( | 457 idle_helper_->StartIdlePeriod( |
457 IdleHelper::IdlePeriodState::IN_SHORT_IDLE_PERIOD, clock_->NowTicks(), | 458 IdleHelper::IdlePeriodState::IN_SHORT_IDLE_PERIOD, clock_->NowTicks(), |
458 clock_->NowTicks() + base::TimeDelta::FromMilliseconds(10)); | 459 clock_->NowTicks() + base::TimeDelta::FromMilliseconds(10)); |
459 idle_helper_->EndIdlePeriod(); | 460 idle_helper_->EndIdlePeriod(); |
460 } | 461 } |
461 | 462 |
462 class IdleHelperWithMessageLoopTest : public BaseIdleHelperTest { | 463 class IdleHelperWithMessageLoopTest : public BaseIdleHelperTest { |
(...skipping 647 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1110 expected_deadline); | 1111 expected_deadline); |
1111 EXPECT_EQ(1u, idle_queue()->GetNumberOfPendingTasks()); | 1112 EXPECT_EQ(1u, idle_queue()->GetNumberOfPendingTasks()); |
1112 RunUntilIdle(); | 1113 RunUntilIdle(); |
1113 | 1114 |
1114 EXPECT_EQ(1, run_count); | 1115 EXPECT_EQ(1, run_count); |
1115 EXPECT_EQ(expected_deadline, deadline_in_task); | 1116 EXPECT_EQ(expected_deadline, deadline_in_task); |
1116 } | 1117 } |
1117 | 1118 |
1118 } // namespace scheduler | 1119 } // namespace scheduler |
1119 } // namespace blink | 1120 } // namespace blink |
OLD | NEW |