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 |