| 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 |