| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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/shell.h" | 5 #include "ash/shell.h" |
| 6 #include "base/macros.h" | 6 #include "base/macros.h" |
| 7 #include "components/exo/buffer.h" | 7 #include "components/exo/buffer.h" |
| 8 #include "components/exo/keyboard.h" | 8 #include "components/exo/keyboard.h" |
| 9 #include "components/exo/keyboard_delegate.h" | 9 #include "components/exo/keyboard_delegate.h" |
| 10 #include "components/exo/shell_surface.h" | 10 #include "components/exo/shell_surface.h" |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 54 generator.PressKey(ui::VKEY_A, 0); | 54 generator.PressKey(ui::VKEY_A, 0); |
| 55 | 55 |
| 56 aura::client::FocusClient* focus_client = | 56 aura::client::FocusClient* focus_client = |
| 57 aura::client::GetFocusClient(ash::Shell::GetPrimaryRootWindow()); | 57 aura::client::GetFocusClient(ash::Shell::GetPrimaryRootWindow()); |
| 58 EXPECT_CALL(delegate, CanAcceptKeyboardEventsForSurface(surface.get())) | 58 EXPECT_CALL(delegate, CanAcceptKeyboardEventsForSurface(surface.get())) |
| 59 .WillOnce(testing::Return(false)); | 59 .WillOnce(testing::Return(false)); |
| 60 focus_client->FocusWindow(surface.get()); | 60 focus_client->FocusWindow(surface.get()); |
| 61 | 61 |
| 62 EXPECT_CALL(delegate, CanAcceptKeyboardEventsForSurface(surface.get())) | 62 EXPECT_CALL(delegate, CanAcceptKeyboardEventsForSurface(surface.get())) |
| 63 .WillOnce(testing::Return(true)); | 63 .WillOnce(testing::Return(true)); |
| 64 ui::DomCode expected_pressed_keys[] = {ui::DomCode::KEY_A}; | 64 ui::DomCode expected_pressed_keys[] = {ui::DomCode::US_A}; |
| 65 EXPECT_CALL(delegate, OnKeyboardModifiers(0)); | 65 EXPECT_CALL(delegate, OnKeyboardModifiers(0)); |
| 66 EXPECT_CALL(delegate, | 66 EXPECT_CALL(delegate, |
| 67 OnKeyboardEnter(surface.get(), | 67 OnKeyboardEnter(surface.get(), |
| 68 std::vector<ui::DomCode>( | 68 std::vector<ui::DomCode>( |
| 69 expected_pressed_keys, | 69 expected_pressed_keys, |
| 70 expected_pressed_keys + | 70 expected_pressed_keys + |
| 71 arraysize(expected_pressed_keys)))); | 71 arraysize(expected_pressed_keys)))); |
| 72 focus_client->FocusWindow(nullptr); | 72 focus_client->FocusWindow(nullptr); |
| 73 focus_client->FocusWindow(surface.get()); | 73 focus_client->FocusWindow(surface.get()); |
| 74 | 74 |
| (...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 124 aura::client::GetFocusClient(ash::Shell::GetPrimaryRootWindow()); | 124 aura::client::GetFocusClient(ash::Shell::GetPrimaryRootWindow()); |
| 125 EXPECT_CALL(delegate, CanAcceptKeyboardEventsForSurface(surface.get())) | 125 EXPECT_CALL(delegate, CanAcceptKeyboardEventsForSurface(surface.get())) |
| 126 .WillOnce(testing::Return(true)); | 126 .WillOnce(testing::Return(true)); |
| 127 EXPECT_CALL(delegate, OnKeyboardModifiers(0)); | 127 EXPECT_CALL(delegate, OnKeyboardModifiers(0)); |
| 128 EXPECT_CALL(delegate, | 128 EXPECT_CALL(delegate, |
| 129 OnKeyboardEnter(surface.get(), std::vector<ui::DomCode>())); | 129 OnKeyboardEnter(surface.get(), std::vector<ui::DomCode>())); |
| 130 focus_client->FocusWindow(surface.get()); | 130 focus_client->FocusWindow(surface.get()); |
| 131 | 131 |
| 132 ui::test::EventGenerator generator(ash::Shell::GetPrimaryRootWindow()); | 132 ui::test::EventGenerator generator(ash::Shell::GetPrimaryRootWindow()); |
| 133 // This should only generate one press event for KEY_A. | 133 // This should only generate one press event for KEY_A. |
| 134 EXPECT_CALL(delegate, OnKeyboardKey(testing::_, ui::DomCode::KEY_A, true)); | 134 EXPECT_CALL(delegate, OnKeyboardKey(testing::_, ui::DomCode::US_A, true)); |
| 135 generator.PressKey(ui::VKEY_A, 0); | 135 generator.PressKey(ui::VKEY_A, 0); |
| 136 generator.PressKey(ui::VKEY_A, 0); | 136 generator.PressKey(ui::VKEY_A, 0); |
| 137 generator.ReleaseKey(ui::VKEY_B, 0); | 137 generator.ReleaseKey(ui::VKEY_B, 0); |
| 138 | 138 |
| 139 // This should only generate one release event for KEY_A. | 139 // This should only generate one release event for KEY_A. |
| 140 EXPECT_CALL(delegate, OnKeyboardKey(testing::_, ui::DomCode::KEY_A, false)); | 140 EXPECT_CALL(delegate, OnKeyboardKey(testing::_, ui::DomCode::US_A, false)); |
| 141 generator.ReleaseKey(ui::VKEY_A, 0); | 141 generator.ReleaseKey(ui::VKEY_A, 0); |
| 142 generator.ReleaseKey(ui::VKEY_A, 0); | 142 generator.ReleaseKey(ui::VKEY_A, 0); |
| 143 | 143 |
| 144 EXPECT_CALL(delegate, OnKeyboardDestroying(keyboard.get())); | 144 EXPECT_CALL(delegate, OnKeyboardDestroying(keyboard.get())); |
| 145 keyboard.reset(); | 145 keyboard.reset(); |
| 146 } | 146 } |
| 147 | 147 |
| 148 TEST_F(KeyboardTest, OnKeyboardModifiers) { | 148 TEST_F(KeyboardTest, OnKeyboardModifiers) { |
| 149 scoped_ptr<Surface> surface(new Surface); | 149 scoped_ptr<Surface> surface(new Surface); |
| 150 scoped_ptr<ShellSurface> shell_surface(new ShellSurface(surface.get())); | 150 scoped_ptr<ShellSurface> shell_surface(new ShellSurface(surface.get())); |
| (...skipping 12 matching lines...) Expand all Loading... |
| 163 aura::client::GetFocusClient(ash::Shell::GetPrimaryRootWindow()); | 163 aura::client::GetFocusClient(ash::Shell::GetPrimaryRootWindow()); |
| 164 EXPECT_CALL(delegate, CanAcceptKeyboardEventsForSurface(surface.get())) | 164 EXPECT_CALL(delegate, CanAcceptKeyboardEventsForSurface(surface.get())) |
| 165 .WillOnce(testing::Return(true)); | 165 .WillOnce(testing::Return(true)); |
| 166 EXPECT_CALL(delegate, OnKeyboardModifiers(0)); | 166 EXPECT_CALL(delegate, OnKeyboardModifiers(0)); |
| 167 EXPECT_CALL(delegate, | 167 EXPECT_CALL(delegate, |
| 168 OnKeyboardEnter(surface.get(), std::vector<ui::DomCode>())); | 168 OnKeyboardEnter(surface.get(), std::vector<ui::DomCode>())); |
| 169 focus_client->FocusWindow(surface.get()); | 169 focus_client->FocusWindow(surface.get()); |
| 170 | 170 |
| 171 ui::test::EventGenerator generator(ash::Shell::GetPrimaryRootWindow()); | 171 ui::test::EventGenerator generator(ash::Shell::GetPrimaryRootWindow()); |
| 172 // This should generate a modifier event. | 172 // This should generate a modifier event. |
| 173 EXPECT_CALL(delegate, OnKeyboardKey(testing::_, ui::DomCode::KEY_A, true)); | 173 EXPECT_CALL(delegate, OnKeyboardKey(testing::_, ui::DomCode::US_A, true)); |
| 174 EXPECT_CALL(delegate, OnKeyboardModifiers(ui::EF_SHIFT_DOWN)); | 174 EXPECT_CALL(delegate, OnKeyboardModifiers(ui::EF_SHIFT_DOWN)); |
| 175 generator.PressKey(ui::VKEY_A, ui::EF_SHIFT_DOWN); | 175 generator.PressKey(ui::VKEY_A, ui::EF_SHIFT_DOWN); |
| 176 | 176 |
| 177 // This should generate another modifier event. | 177 // This should generate another modifier event. |
| 178 EXPECT_CALL(delegate, OnKeyboardKey(testing::_, ui::DomCode::KEY_B, true)); | 178 EXPECT_CALL(delegate, OnKeyboardKey(testing::_, ui::DomCode::US_B, true)); |
| 179 EXPECT_CALL(delegate, | 179 EXPECT_CALL(delegate, |
| 180 OnKeyboardModifiers(ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN)); | 180 OnKeyboardModifiers(ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN)); |
| 181 generator.PressKey(ui::VKEY_B, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN); | 181 generator.PressKey(ui::VKEY_B, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN); |
| 182 | 182 |
| 183 // This should generate a third modifier event. | 183 // This should generate a third modifier event. |
| 184 EXPECT_CALL(delegate, OnKeyboardKey(testing::_, ui::DomCode::KEY_B, false)); | 184 EXPECT_CALL(delegate, OnKeyboardKey(testing::_, ui::DomCode::US_B, false)); |
| 185 EXPECT_CALL(delegate, OnKeyboardModifiers(0)); | 185 EXPECT_CALL(delegate, OnKeyboardModifiers(0)); |
| 186 generator.ReleaseKey(ui::VKEY_B, 0); | 186 generator.ReleaseKey(ui::VKEY_B, 0); |
| 187 | 187 |
| 188 EXPECT_CALL(delegate, OnKeyboardDestroying(keyboard.get())); | 188 EXPECT_CALL(delegate, OnKeyboardDestroying(keyboard.get())); |
| 189 keyboard.reset(); | 189 keyboard.reset(); |
| 190 } | 190 } |
| 191 | 191 |
| 192 } // namespace | 192 } // namespace |
| 193 } // namespace exo | 193 } // namespace exo |
| OLD | NEW |