summaryrefslogtreecommitdiffstats
path: root/ash
diff options
context:
space:
mode:
authorjonross <jonross@chromium.org>2015-02-09 07:52:50 -0800
committerCommit bot <commit-bot@chromium.org>2015-02-09 15:53:31 +0000
commit1418c1251a9d1ca13e2e1afb84d31891fe77e80e (patch)
tree6cf2cbeeff3ad94c0100172ae2823360f21f2df4 /ash
parent4dfd13b2f90deb4affd5c821af215276b28423ed (diff)
downloadchromium_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.cc19
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() {}