diff options
author | jonross <jonross@chromium.org> | 2015-02-09 07:52:50 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-02-09 15:53:31 +0000 |
commit | 1418c1251a9d1ca13e2e1afb84d31891fe77e80e (patch) | |
tree | 6cf2cbeeff3ad94c0100172ae2823360f21f2df4 /ash | |
parent | 4dfd13b2f90deb4affd5c821af215276b28423ed (diff) | |
download | chromium_src-1418c1251a9d1ca13e2e1afb84d31891fe77e80e.zip chromium_src-1418c1251a9d1ca13e2e1afb84d31891fe77e80e.tar.gz chromium_src-1418c1251a9d1ca13e2e1afb84d31891fe77e80e.tar.bz2 |
Correcly Report CanEnterMaximizeMode on devices withou accelerometers
MaximizeModeController::CanEnterMaximizeMode was based on receiving an accelerometer event. AccelerometerReader now sends an event to every observer as it is added, to reduce lag on receiving first event. However on devices without accelerometers this sends an empty event.
Updated MaximizeModeController to not set that accelerometer events have been seen until a valid event is received. One with actual data.
TEST=MaximizeModeControllerTest.CanEnterMaximizeModeRequiresValidAccelerometerUpdate
BUG=454662
Review URL: https://codereview.chromium.org/895993002
Cr-Commit-Position: refs/heads/master@{#315307}
Diffstat (limited to 'ash')
-rw-r--r-- | ash/wm/maximize_mode/maximize_mode_controller_unittest.cc | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/ash/wm/maximize_mode/maximize_mode_controller_unittest.cc b/ash/wm/maximize_mode/maximize_mode_controller_unittest.cc index b3f0434..5a4a018 100644 --- a/ash/wm/maximize_mode/maximize_mode_controller_unittest.cc +++ b/ash/wm/maximize_mode/maximize_mode_controller_unittest.cc @@ -346,6 +346,25 @@ TEST_F(MaximizeModeControllerTest, MaximizeModeTest) { } } +// Tests that CanEnterMaximizeMode returns false until a valid accelerometer +// event has been received, and that it returns true afterwards. +TEST_F(MaximizeModeControllerTest, + CanEnterMaximizeModeRequiresValidAccelerometerUpdate) { + // Should be false until an accelerometer event is sent. + ASSERT_FALSE(maximize_mode_controller()->CanEnterMaximizeMode()); + OpenLidToAngle(90.0f); + EXPECT_TRUE(maximize_mode_controller()->CanEnterMaximizeMode()); +} + +// Tests that when an accelerometer event is received which has no keyboard that +// we enter maximize mode. +TEST_F(MaximizeModeControllerTest, + NoKeyboardAccelerometerTriggersMaximizeMode) { + ASSERT_FALSE(IsMaximizeModeStarted()); + TriggerLidUpdate(gfx::Vector3dF(0.0f, 0.0f, kMeanGravity)); + ASSERT_TRUE(IsMaximizeModeStarted()); +} + class MaximizeModeControllerSwitchesTest : public MaximizeModeControllerTest { public: MaximizeModeControllerSwitchesTest() {} |