| OLD | NEW |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 "ash/system/chromeos/power/tablet_power_button_controller.h" | 5 #include "ash/system/chromeos/power/tablet_power_button_controller.h" |
| 6 | 6 |
| 7 #include <memory> | 7 #include <memory> |
| 8 | 8 |
| 9 #include "ash/common/ash_switches.h" | 9 #include "ash/common/ash_switches.h" |
| 10 #include "ash/common/session/session_state_delegate.h" | 10 #include "ash/common/session/session_state_delegate.h" |
| (...skipping 210 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 221 // Tests tapping power button when device is suspended without backlights forced | 221 // Tests tapping power button when device is suspended without backlights forced |
| 222 // off. | 222 // off. |
| 223 TEST_F(TabletPowerButtonControllerTest, | 223 TEST_F(TabletPowerButtonControllerTest, |
| 224 TappingPowerButtonWhenSuspendedWithoutBacklightsForcedOff) { | 224 TappingPowerButtonWhenSuspendedWithoutBacklightsForcedOff) { |
| 225 power_manager_client_->SendSuspendImminent(); | 225 power_manager_client_->SendSuspendImminent(); |
| 226 power_manager_client_->SendBrightnessChanged(0, false); | 226 power_manager_client_->SendBrightnessChanged(0, false); |
| 227 // There is a power button pressed here, but PowerButtonEvent is sent later. | 227 // There is a power button pressed here, but PowerButtonEvent is sent later. |
| 228 power_manager_client_->SendSuspendDone(); | 228 power_manager_client_->SendSuspendDone(); |
| 229 power_manager_client_->SendBrightnessChanged(kNonZeroBrightness, false); | 229 power_manager_client_->SendBrightnessChanged(kNonZeroBrightness, false); |
| 230 | 230 |
| 231 // Send the power button event after a short delay and check that it is | 231 // Send the power button event after a short delay and check that backlights |
| 232 // ignored. | 232 // are not forced off. |
| 233 tick_clock_->Advance(base::TimeDelta::FromMilliseconds(500)); | 233 tick_clock_->Advance(base::TimeDelta::FromMilliseconds(500)); |
| 234 power_manager_client_->SendPowerButtonEvent(true, tick_clock_->NowTicks()); | 234 power_manager_client_->SendPowerButtonEvent(true, tick_clock_->NowTicks()); |
| 235 EXPECT_TRUE(test_api_->ShutdownTimerIsRunning()); |
| 235 power_manager_client_->SendPowerButtonEvent(false, tick_clock_->NowTicks()); | 236 power_manager_client_->SendPowerButtonEvent(false, tick_clock_->NowTicks()); |
| 237 EXPECT_FALSE(test_api_->ShutdownTimerIsRunning()); |
| 236 EXPECT_FALSE(GetBacklightsForcedOff()); | 238 EXPECT_FALSE(GetBacklightsForcedOff()); |
| 237 | 239 |
| 238 // Send the power button event after a longer delay and check that it is not | 240 // Send the power button event after a longer delay and check that backlights |
| 239 // ignored. | 241 // are forced off. |
| 240 tick_clock_->Advance(base::TimeDelta::FromMilliseconds(1600)); | 242 tick_clock_->Advance(base::TimeDelta::FromMilliseconds(1600)); |
| 241 power_manager_client_->SendPowerButtonEvent(true, tick_clock_->NowTicks()); | 243 power_manager_client_->SendPowerButtonEvent(true, tick_clock_->NowTicks()); |
| 244 EXPECT_TRUE(test_api_->ShutdownTimerIsRunning()); |
| 242 power_manager_client_->SendPowerButtonEvent(false, tick_clock_->NowTicks()); | 245 power_manager_client_->SendPowerButtonEvent(false, tick_clock_->NowTicks()); |
| 243 power_manager_client_->SendBrightnessChanged(0, false); | 246 power_manager_client_->SendBrightnessChanged(0, false); |
| 247 EXPECT_FALSE(test_api_->ShutdownTimerIsRunning()); |
| 244 EXPECT_TRUE(GetBacklightsForcedOff()); | 248 EXPECT_TRUE(GetBacklightsForcedOff()); |
| 245 } | 249 } |
| 246 | 250 |
| 247 // Tests tapping power button when device is suspended with backlights forced | 251 // Tests tapping power button when device is suspended with backlights forced |
| 248 // off. | 252 // off. |
| 249 TEST_F(TabletPowerButtonControllerTest, | 253 TEST_F(TabletPowerButtonControllerTest, |
| 250 TappingPowerButtonWhenSuspendedWithBacklightsForcedOff) { | 254 TappingPowerButtonWhenSuspendedWithBacklightsForcedOff) { |
| 251 PressPowerButton(); | 255 PressPowerButton(); |
| 252 ReleasePowerButton(); | 256 ReleasePowerButton(); |
| 253 power_manager_client_->SendBrightnessChanged(0, false); | 257 power_manager_client_->SendBrightnessChanged(0, false); |
| 254 EXPECT_TRUE(GetBacklightsForcedOff()); | 258 EXPECT_TRUE(GetBacklightsForcedOff()); |
| 255 power_manager_client_->SendSuspendImminent(); | 259 power_manager_client_->SendSuspendImminent(); |
| 256 // There is a power button pressed here, but PowerButtonEvent is sent later. | 260 // There is a power button pressed here, but PowerButtonEvent is sent later. |
| 257 // Because of backlights forced off, resuming system will not restore | 261 // Because of backlights forced off, resuming system will not restore |
| 258 // brightness. | 262 // brightness. |
| 259 power_manager_client_->SendSuspendDone(); | 263 power_manager_client_->SendSuspendDone(); |
| 260 | 264 |
| 261 // Send the power button event after a short delay and check that it is | 265 // Send the power button event after a short delay and check that backlights |
| 262 // ignored. But if backlights are forced off, stop forcing off. | 266 // are not forced off. |
| 263 tick_clock_->Advance(base::TimeDelta::FromMilliseconds(500)); | 267 tick_clock_->Advance(base::TimeDelta::FromMilliseconds(500)); |
| 264 power_manager_client_->SendPowerButtonEvent(true, tick_clock_->NowTicks()); | 268 power_manager_client_->SendPowerButtonEvent(true, tick_clock_->NowTicks()); |
| 265 power_manager_client_->SendBrightnessChanged(kNonZeroBrightness, false); | 269 power_manager_client_->SendBrightnessChanged(kNonZeroBrightness, false); |
| 270 EXPECT_TRUE(test_api_->ShutdownTimerIsRunning()); |
| 266 power_manager_client_->SendPowerButtonEvent(false, tick_clock_->NowTicks()); | 271 power_manager_client_->SendPowerButtonEvent(false, tick_clock_->NowTicks()); |
| 272 EXPECT_FALSE(test_api_->ShutdownTimerIsRunning()); |
| 267 EXPECT_FALSE(GetBacklightsForcedOff()); | 273 EXPECT_FALSE(GetBacklightsForcedOff()); |
| 268 | 274 |
| 269 // Send the power button event after a longer delay and check that it is not | 275 // Send the power button event after a longer delay and check that backlights |
| 270 // ignored. | 276 // are forced off. |
| 271 tick_clock_->Advance(base::TimeDelta::FromMilliseconds(1600)); | 277 tick_clock_->Advance(base::TimeDelta::FromMilliseconds(1600)); |
| 272 power_manager_client_->SendPowerButtonEvent(true, tick_clock_->NowTicks()); | 278 power_manager_client_->SendPowerButtonEvent(true, tick_clock_->NowTicks()); |
| 279 EXPECT_TRUE(test_api_->ShutdownTimerIsRunning()); |
| 273 power_manager_client_->SendPowerButtonEvent(false, tick_clock_->NowTicks()); | 280 power_manager_client_->SendPowerButtonEvent(false, tick_clock_->NowTicks()); |
| 274 power_manager_client_->SendBrightnessChanged(0, false); | 281 power_manager_client_->SendBrightnessChanged(0, false); |
| 282 EXPECT_FALSE(test_api_->ShutdownTimerIsRunning()); |
| 275 EXPECT_TRUE(GetBacklightsForcedOff()); | 283 EXPECT_TRUE(GetBacklightsForcedOff()); |
| 276 } | 284 } |
| 277 | 285 |
| 278 // For convertible device working on laptop mode, tests keyboard/mouse event | 286 // For convertible device working on laptop mode, tests keyboard/mouse event |
| 279 // when screen is off. | 287 // when screen is off. |
| 280 TEST_F(TabletPowerButtonControllerTest, ConvertibleOnLaptopMode) { | 288 TEST_F(TabletPowerButtonControllerTest, ConvertibleOnLaptopMode) { |
| 281 EnableMaximizeMode(false); | 289 EnableMaximizeMode(false); |
| 282 | 290 |
| 283 // KeyEvent should SetBacklightsForcedOff(false). | 291 // KeyEvent should SetBacklightsForcedOff(false). |
| 284 PressPowerButton(); | 292 PressPowerButton(); |
| (...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 393 power_manager_client_->SendBrightnessChanged(0, false); | 401 power_manager_client_->SendBrightnessChanged(0, false); |
| 394 EXPECT_TRUE(GetBacklightsForcedOff()); | 402 EXPECT_TRUE(GetBacklightsForcedOff()); |
| 395 EXPECT_FALSE(shell_delegate_->IsTouchscreenEnabledInPrefs(true)); | 403 EXPECT_FALSE(shell_delegate_->IsTouchscreenEnabledInPrefs(true)); |
| 396 generator_->MoveMouseBy(1, 1); | 404 generator_->MoveMouseBy(1, 1); |
| 397 power_manager_client_->SendBrightnessChanged(kNonZeroBrightness, false); | 405 power_manager_client_->SendBrightnessChanged(kNonZeroBrightness, false); |
| 398 EXPECT_TRUE(shell_delegate_->IsTouchscreenEnabledInPrefs(true)); | 406 EXPECT_TRUE(shell_delegate_->IsTouchscreenEnabledInPrefs(true)); |
| 399 } | 407 } |
| 400 | 408 |
| 401 } // namespace test | 409 } // namespace test |
| 402 } // namespace ash | 410 } // namespace ash |
| OLD | NEW |