Index: cc/scheduler/scheduler_unittest.cc |
diff --git a/cc/scheduler/scheduler_unittest.cc b/cc/scheduler/scheduler_unittest.cc |
index 50cc846c44114edffbc07dfdc6f0faf117b95299..9346536e9344e965d1422f7202af9cd0c2753ea9 100644 |
--- a/cc/scheduler/scheduler_unittest.cc |
+++ b/cc/scheduler/scheduler_unittest.cc |
@@ -10,8 +10,6 @@ |
#include "base/logging.h" |
#include "base/memory/scoped_vector.h" |
#include "base/message_loop/message_loop.h" |
-#include "base/power_monitor/power_monitor.h" |
-#include "base/power_monitor/power_monitor_source.h" |
#include "base/run_loop.h" |
#include "base/time/time.h" |
#include "base/trace_event/trace_event.h" |
@@ -198,21 +196,6 @@ class FakeSchedulerClient : public SchedulerClient { |
TestScheduler* scheduler_; |
}; |
-class FakePowerMonitorSource : public base::PowerMonitorSource { |
- public: |
- FakePowerMonitorSource() {} |
- ~FakePowerMonitorSource() override {} |
- void GeneratePowerStateEvent(bool on_battery_power) { |
- on_battery_power_impl_ = on_battery_power; |
- ProcessPowerEvent(POWER_STATE_EVENT); |
- base::MessageLoop::current()->RunUntilIdle(); |
- } |
- bool IsOnBatteryPowerImpl() override { return on_battery_power_impl_; } |
- |
- private: |
- bool on_battery_power_impl_; |
-}; |
- |
class FakeExternalBeginFrameSource : public BeginFrameSourceMixIn { |
public: |
explicit FakeExternalBeginFrameSource(FakeSchedulerClient* client) |
@@ -240,10 +223,7 @@ class SchedulerTest : public testing::Test { |
SchedulerTest() |
: now_src_(TestNowSource::Create()), |
task_runner_(new OrderedSimpleTaskRunner(now_src_, true)), |
- fake_external_begin_frame_source_(nullptr), |
- fake_power_monitor_source_(new FakePowerMonitorSource), |
- power_monitor_(make_scoped_ptr<base::PowerMonitorSource>( |
- fake_power_monitor_source_)) { |
+ fake_external_begin_frame_source_(nullptr) { |
// A bunch of tests require Now() to be > BeginFrameArgs::DefaultInterval() |
now_src_->AdvanceNow(base::TimeDelta::FromMilliseconds(100)); |
// Fail if we need to run 100 tasks in a row. |
@@ -261,9 +241,9 @@ class SchedulerTest : public testing::Test { |
fake_external_begin_frame_source_ = |
fake_external_begin_frame_source.get(); |
} |
- scheduler_ = TestScheduler::Create( |
- now_src_, client_.get(), scheduler_settings_, 0, task_runner_, |
- &power_monitor_, fake_external_begin_frame_source.Pass()); |
+ scheduler_ = TestScheduler::Create(now_src_, client_.get(), |
+ scheduler_settings_, 0, task_runner_, |
+ fake_external_begin_frame_source.Pass()); |
DCHECK(scheduler_); |
client_->set_scheduler(scheduler_.get()); |
return scheduler_.get(); |
@@ -386,11 +366,6 @@ class SchedulerTest : public testing::Test { |
CreateBeginFrameArgsForTesting(BEGINFRAME_FROM_HERE, now_src())); |
} |
- base::PowerMonitor* PowerMonitor() { return &power_monitor_; } |
- FakePowerMonitorSource* PowerMonitorSource() { |
- return fake_power_monitor_source_; |
- } |
- |
FakeExternalBeginFrameSource* fake_external_begin_frame_source() const { |
return fake_external_begin_frame_source_; |
} |
@@ -412,8 +387,6 @@ class SchedulerTest : public testing::Test { |
scoped_refptr<TestNowSource> now_src_; |
scoped_refptr<OrderedSimpleTaskRunner> task_runner_; |
FakeExternalBeginFrameSource* fake_external_begin_frame_source_; |
- FakePowerMonitorSource* fake_power_monitor_source_; |
- base::PowerMonitor power_monitor_; |
SchedulerSettings scheduler_settings_; |
scoped_ptr<FakeSchedulerClient> client_; |
scoped_ptr<TestScheduler> scheduler_; |
@@ -2119,131 +2092,6 @@ TEST_F(SchedulerTest, ScheduledActionActivateAfterBecomingInvisible) { |
EXPECT_ACTION("ScheduledActionActivateSyncTree", client_, 1, 2); |
} |
-TEST_F(SchedulerTest, SchedulerPowerMonitoring) { |
- scheduler_settings_.disable_hi_res_timer_tasks_on_battery = true; |
- SetUpScheduler(true); |
- |
- base::TimeTicks before_deadline, after_deadline; |
- |
- scheduler_->SetNeedsCommit(); |
- scheduler_->SetNeedsRedraw(); |
- client_->Reset(); |
- |
- // On non-battery power |
- EXPECT_FALSE(PowerMonitor()->IsOnBatteryPower()); |
- |
- EXPECT_SCOPED(AdvanceFrame()); |
- client_->Reset(); |
- |
- before_deadline = now_src()->Now(); |
- EXPECT_TRUE( |
- task_runner().RunTasksWhile(client_->ImplFrameDeadlinePending(true))); |
- after_deadline = now_src()->Now(); |
- |
- // We post a non-zero deadline task when not on battery |
- EXPECT_LT(before_deadline, after_deadline); |
- |
- // Switch to battery power |
- PowerMonitorSource()->GeneratePowerStateEvent(true); |
- EXPECT_TRUE(PowerMonitor()->IsOnBatteryPower()); |
- |
- EXPECT_SCOPED(AdvanceFrame()); |
- scheduler_->SetNeedsCommit(); |
- scheduler_->SetNeedsRedraw(); |
- client_->Reset(); |
- |
- before_deadline = now_src()->Now(); |
- EXPECT_TRUE( |
- task_runner().RunTasksWhile(client_->ImplFrameDeadlinePending(true))); |
- after_deadline = now_src()->Now(); |
- |
- // We post a zero deadline task when on battery |
- EXPECT_EQ(before_deadline, after_deadline); |
- |
- // Switch to non-battery power |
- PowerMonitorSource()->GeneratePowerStateEvent(false); |
- EXPECT_FALSE(PowerMonitor()->IsOnBatteryPower()); |
- |
- EXPECT_SCOPED(AdvanceFrame()); |
- scheduler_->SetNeedsCommit(); |
- scheduler_->SetNeedsRedraw(); |
- client_->Reset(); |
- |
- // Same as before |
- before_deadline = now_src()->Now(); |
- EXPECT_TRUE( |
- task_runner().RunTasksWhile(client_->ImplFrameDeadlinePending(true))); |
- after_deadline = now_src()->Now(); |
-} |
- |
-TEST_F(SchedulerTest, |
- SimulateWindowsLowResolutionTimerOnBattery_PrioritizeImplLatencyOff) { |
- scheduler_settings_.use_external_begin_frame_source = true; |
- SetUpScheduler(true); |
- |
- // Set needs commit so that the scheduler tries to wait for the main thread |
- scheduler_->SetNeedsCommit(); |
- // Set needs redraw so that the scheduler doesn't wait too long |
- scheduler_->SetNeedsRedraw(); |
- client_->Reset(); |
- |
- // Switch to battery power |
- PowerMonitorSource()->GeneratePowerStateEvent(true); |
- EXPECT_TRUE(PowerMonitor()->IsOnBatteryPower()); |
- |
- EXPECT_SCOPED(AdvanceFrame()); |
- scheduler_->SetNeedsCommit(); |
- scheduler_->SetNeedsRedraw(); |
- client_->Reset(); |
- |
- // Disable auto-advancing of now_src |
- task_runner().SetAutoAdvanceNowToPendingTasks(false); |
- |
- // Deadline task is pending |
- EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePending()); |
- task_runner().RunPendingTasks(); |
- // Deadline task is still pending |
- EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePending()); |
- |
- // Advance now by 15 ms - same as windows low res timer |
- now_src()->AdvanceNowMicroseconds(15000); |
- EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePending()); |
- task_runner().RunPendingTasks(); |
- // Deadline task finally completes |
- EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePending()); |
-} |
- |
-TEST_F(SchedulerTest, |
- SimulateWindowsLowResolutionTimerOnBattery_PrioritizeImplLatencyOn) { |
- scheduler_settings_.disable_hi_res_timer_tasks_on_battery = true; |
- scheduler_settings_.use_external_begin_frame_source = true; |
- SetUpScheduler(true); |
- |
- // Set needs commit so that the scheduler tries to wait for the main thread |
- scheduler_->SetNeedsCommit(); |
- // Set needs redraw so that the scheduler doesn't wait too long |
- scheduler_->SetNeedsRedraw(); |
- client_->Reset(); |
- |
- // Switch to battery power |
- PowerMonitorSource()->GeneratePowerStateEvent(true); |
- EXPECT_TRUE(PowerMonitor()->IsOnBatteryPower()); |
- |
- EXPECT_SCOPED(AdvanceFrame()); |
- scheduler_->SetNeedsCommit(); |
- scheduler_->SetNeedsRedraw(); |
- client_->Reset(); |
- |
- // Disable auto-advancing of now_src |
- task_runner().SetAutoAdvanceNowToPendingTasks(false); |
- |
- // Deadline task is pending |
- EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePending()); |
- task_runner().RunPendingTasks(); |
- // Deadline task runs immediately |
- EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePending()); |
-} |
- |
// Tests to ensure frame sources can be successfully changed while drawing. |
TEST_F(SchedulerTest, SwitchFrameSourceToUnthrottled) { |
scheduler_settings_.use_external_begin_frame_source = true; |