Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(146)

Unified Diff: ash/wm/maximize_mode/maximize_mode_controller_unittest.cc

Issue 286103004: Blocked volume up/down events that originated from remapped function keys. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Updated AllowsVolumeControl comment and ifdefed events_test_utils_x11.h include. Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: ash/wm/maximize_mode/maximize_mode_controller_unittest.cc
diff --git a/ash/wm/maximize_mode/maximize_mode_controller_unittest.cc b/ash/wm/maximize_mode/maximize_mode_controller_unittest.cc
index 4145281969e4e5b210094f6375d5ccd3ab162902..de8be86e954346cf44c4bc97a01d33e4f78cceb3 100644
--- a/ash/wm/maximize_mode/maximize_mode_controller_unittest.cc
+++ b/ash/wm/maximize_mode/maximize_mode_controller_unittest.cc
@@ -21,6 +21,10 @@
#include "ui/gfx/vector3d_f.h"
#include "ui/message_center/message_center.h"
+#if defined(USE_X11)
+#include "ui/events/test/events_test_utils_x11.h"
+#endif
+
namespace ash {
namespace {
@@ -416,9 +420,9 @@ TEST_F(MaximizeModeControllerTest, Screenshot) {
EXPECT_EQ(1, delegate->handle_take_screenshot_count());
event_generator.ReleaseKey(ui::VKEY_VOLUME_DOWN, 0);
}
-#endif // OS_CHROMEOS
-// Tests that maximize mode does not block Volume Up & Down events.
+// Tests that maximize mode allows volume up/down events originating
+// from dedicated buttons versus remapped keyboard buttons.
TEST_F(MaximizeModeControllerTest, AllowsVolumeControl) {
aura::Window* root = Shell::GetPrimaryRootWindow();
aura::test::EventGenerator event_generator(root, root);
@@ -433,18 +437,39 @@ TEST_F(MaximizeModeControllerTest, AllowsVolumeControl) {
gfx::Vector3dF(-1.0f, 0.0f, 0.0f));
ASSERT_TRUE(IsMaximizeModeStarted());
+ ui::ScopedXI2Event xevent;
+
+ // Verify F9 button event is blocked
+ ASSERT_EQ(0, volume_delegate->handle_volume_down_count());
+ xevent.InitKeyEvent(ui::ET_KEY_PRESSED, ui::VKEY_VOLUME_DOWN, ui::EF_NONE);
+ ui::KeyEvent press_f9(xevent, false /*is_char*/);
+ press_f9.set_flags(ui::EF_FUNCTION_KEY);
+ event_generator.Dispatch(&press_f9);
+ EXPECT_EQ(0, volume_delegate->handle_volume_down_count());
+
+ // Verify F10 button event is blocked
+ ASSERT_EQ(0, volume_delegate->handle_volume_up_count());
+ xevent.InitKeyEvent(ui::ET_KEY_PRESSED, ui::VKEY_VOLUME_UP, ui::EF_NONE);
+ ui::KeyEvent press_f10(xevent, false /*is_char*/);
+ press_f10.set_flags(ui::EF_FUNCTION_KEY);
+ event_generator.Dispatch(&press_f10);
+ EXPECT_EQ(0, volume_delegate->handle_volume_up_count());
+
// Verify volume down button event is not blocked
ASSERT_EQ(0, volume_delegate->handle_volume_down_count());
- event_generator.PressKey(ui::VKEY_VOLUME_DOWN, 0);
- event_generator.ReleaseKey(ui::VKEY_VOLUME_DOWN, 0);
+ xevent.InitKeyEvent(ui::ET_KEY_PRESSED, ui::VKEY_VOLUME_DOWN, ui::EF_NONE);
+ ui::KeyEvent press_vol_down(xevent, false /*is_char*/);
+ event_generator.Dispatch(&press_vol_down);
EXPECT_EQ(1, volume_delegate->handle_volume_down_count());
// Verify volume up event is not blocked
ASSERT_EQ(0, volume_delegate->handle_volume_up_count());
- event_generator.PressKey(ui::VKEY_VOLUME_UP, 0);
- event_generator.ReleaseKey(ui::VKEY_VOLUME_UP, 0);
+ xevent.InitKeyEvent(ui::ET_KEY_PRESSED, ui::VKEY_VOLUME_UP, ui::EF_NONE);
+ ui::KeyEvent press_vol_up(xevent, false /*is_char*/);
+ event_generator.Dispatch(&press_vol_up);
EXPECT_EQ(1, volume_delegate->handle_volume_up_count());
}
+#endif // OS_CHROMEOS
TEST_F(MaximizeModeControllerTest, LaptopTest) {
// Feeds in sample accelerometer data and verifies that there are no

Powered by Google App Engine
This is Rietveld 408576698