| 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
|
|
|