OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "ui/wm/core/accelerator_filter.h" | 5 #include "ui/wm/core/accelerator_filter.h" |
6 | 6 |
7 #include <memory> | 7 #include <memory> |
8 | 8 |
9 #include "ash/accelerators/accelerator_controller.h" | 9 #include "ash/accelerators/accelerator_controller.h" |
10 #include "ash/accelerators/accelerator_delegate.h" | 10 #include "ash/accelerators/accelerator_delegate.h" |
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
101 // Normal keys are not consumed. | 101 // Normal keys are not consumed. |
102 ui::KeyEvent press_a(ui::ET_KEY_PRESSED, ui::VKEY_A, ui::EF_NONE); | 102 ui::KeyEvent press_a(ui::ET_KEY_PRESSED, ui::VKEY_A, ui::EF_NONE); |
103 { | 103 { |
104 ui::Event::DispatcherApi dispatch_helper(&press_a); | 104 ui::Event::DispatcherApi dispatch_helper(&press_a); |
105 dispatch_helper.set_target(root_window); | 105 dispatch_helper.set_target(root_window); |
106 } | 106 } |
107 filter.OnKeyEvent(&press_a); | 107 filter.OnKeyEvent(&press_a); |
108 EXPECT_FALSE(press_a.stopped_propagation()); | 108 EXPECT_FALSE(press_a.stopped_propagation()); |
109 | 109 |
110 // System keys are directly consumed. | 110 // System keys are directly consumed. |
111 ui::KeyEvent press_mute( | 111 ui::KeyEvent press_mute(ui::ET_KEY_PRESSED, ui::VKEY_VOLUME_MUTE, |
112 ui::ET_KEY_PRESSED, ui::VKEY_VOLUME_MUTE, ui::EF_NONE); | 112 ui::EF_NONE); |
113 { | 113 { |
114 ui::Event::DispatcherApi dispatch_helper(&press_mute); | 114 ui::Event::DispatcherApi dispatch_helper(&press_mute); |
115 dispatch_helper.set_target(root_window); | 115 dispatch_helper.set_target(root_window); |
116 } | 116 } |
117 filter.OnKeyEvent(&press_mute); | 117 filter.OnKeyEvent(&press_mute); |
118 EXPECT_TRUE(press_mute.stopped_propagation()); | 118 EXPECT_TRUE(press_mute.stopped_propagation()); |
119 | 119 |
120 // Setting a window property on the target allows system keys to pass through. | 120 // Setting a window property on the target allows system keys to pass through. |
121 std::unique_ptr<aura::Window> window(CreateTestWindowInShellWithId(1)); | 121 std::unique_ptr<aura::Window> window(CreateTestWindowInShellWithId(1)); |
122 wm::GetWindowState(window.get())->set_can_consume_system_keys(true); | 122 wm::GetWindowState(window.get())->set_can_consume_system_keys(true); |
123 ui::KeyEvent press_volume_up( | 123 ui::KeyEvent press_volume_up(ui::ET_KEY_PRESSED, ui::VKEY_VOLUME_UP, |
124 ui::ET_KEY_PRESSED, ui::VKEY_VOLUME_UP, ui::EF_NONE); | 124 ui::EF_NONE); |
125 ui::Event::DispatcherApi dispatch_helper(&press_volume_up); | 125 ui::Event::DispatcherApi dispatch_helper(&press_volume_up); |
126 dispatch_helper.set_target(window.get()); | 126 dispatch_helper.set_target(window.get()); |
127 filter.OnKeyEvent(&press_volume_up); | 127 filter.OnKeyEvent(&press_volume_up); |
128 EXPECT_FALSE(press_volume_up.stopped_propagation()); | 128 EXPECT_FALSE(press_volume_up.stopped_propagation()); |
129 | 129 |
130 // System keys pass through to a child window if the parent (top level) | 130 // System keys pass through to a child window if the parent (top level) |
131 // window has the property set. | 131 // window has the property set. |
132 std::unique_ptr<aura::Window> child(CreateTestWindowInShellWithId(2)); | 132 std::unique_ptr<aura::Window> child(CreateTestWindowInShellWithId(2)); |
133 window->AddChild(child.get()); | 133 window->AddChild(child.get()); |
134 dispatch_helper.set_target(child.get()); | 134 dispatch_helper.set_target(child.get()); |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
167 generator.PressKey(ui::VKEY_L, ui::EF_COMMAND_DOWN); | 167 generator.PressKey(ui::VKEY_L, ui::EF_COMMAND_DOWN); |
168 generator.ReleaseKey(ui::VKEY_L, ui::EF_COMMAND_DOWN); | 168 generator.ReleaseKey(ui::VKEY_L, ui::EF_COMMAND_DOWN); |
169 EXPECT_TRUE(session_state_delegate->IsScreenLocked()); | 169 EXPECT_TRUE(session_state_delegate->IsScreenLocked()); |
170 UnblockUserSession(); | 170 UnblockUserSession(); |
171 EXPECT_FALSE(session_state_delegate->IsScreenLocked()); | 171 EXPECT_FALSE(session_state_delegate->IsScreenLocked()); |
172 } | 172 } |
173 #endif // defined(OS_CHROMEOS) | 173 #endif // defined(OS_CHROMEOS) |
174 | 174 |
175 } // namespace test | 175 } // namespace test |
176 } // namespace ash | 176 } // namespace ash |
OLD | NEW |