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 "ash/accelerators/accelerator_controller.h" | 5 #include "ash/accelerators/accelerator_controller.h" |
6 #include "ash/session_state_delegate.h" | 6 #include "ash/session_state_delegate.h" |
7 #include "ash/shell.h" | 7 #include "ash/shell.h" |
8 #include "ash/shell_window_ids.h" | 8 #include "ash/shell_window_ids.h" |
9 #include "ash/test/ash_test_base.h" | 9 #include "ash/test/ash_test_base.h" |
10 #include "base/bind.h" | 10 #include "base/bind.h" |
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
77 // ShouldHandle() in ui/base/accelerators/accelerator_manager.cc for details. | 77 // ShouldHandle() in ui/base/accelerators/accelerator_manager.cc for details. |
78 #if defined(OS_WIN) | 78 #if defined(OS_WIN) |
79 MSG native_event_down = { NULL, WM_KEYDOWN, ui::VKEY_A, 0 }; | 79 MSG native_event_down = { NULL, WM_KEYDOWN, ui::VKEY_A, 0 }; |
80 ash::Shell::GetPrimaryRootWindow()->host()->PostNativeEvent( | 80 ash::Shell::GetPrimaryRootWindow()->host()->PostNativeEvent( |
81 native_event_down); | 81 native_event_down); |
82 MSG native_event_up = { NULL, WM_KEYUP, ui::VKEY_A, 0 }; | 82 MSG native_event_up = { NULL, WM_KEYUP, ui::VKEY_A, 0 }; |
83 ash::Shell::GetPrimaryRootWindow()->host()->PostNativeEvent(native_event_up); | 83 ash::Shell::GetPrimaryRootWindow()->host()->PostNativeEvent(native_event_up); |
84 #elif defined(USE_X11) | 84 #elif defined(USE_X11) |
85 ui::ScopedXI2Event native_event; | 85 ui::ScopedXI2Event native_event; |
86 native_event.InitKeyEvent(ui::ET_KEY_PRESSED, ui::VKEY_A, 0); | 86 native_event.InitKeyEvent(ui::ET_KEY_PRESSED, ui::VKEY_A, 0); |
87 aura::WindowEventDispatcher* dispatcher = | 87 aura::WindowTreeHost* host = ash::Shell::GetPrimaryRootWindow()->GetHost(); |
88 ash::Shell::GetPrimaryRootWindow()->GetDispatcher(); | 88 host->PostNativeEvent(native_event); |
89 dispatcher->host()->PostNativeEvent(native_event); | |
90 native_event.InitKeyEvent(ui::ET_KEY_RELEASED, ui::VKEY_A, 0); | 89 native_event.InitKeyEvent(ui::ET_KEY_RELEASED, ui::VKEY_A, 0); |
91 dispatcher->host()->PostNativeEvent(native_event); | 90 host->PostNativeEvent(native_event); |
92 #endif | 91 #endif |
93 // Make sure the inner message-loop terminates after dispatching the events. | 92 // Make sure the inner message-loop terminates after dispatching the events. |
94 base::MessageLoop::current()->PostTask(FROM_HERE, | 93 base::MessageLoop::current()->PostTask(FROM_HERE, |
95 base::MessageLoop::current()->QuitClosure()); | 94 base::MessageLoop::current()->QuitClosure()); |
96 } | 95 } |
97 | 96 |
98 } // namespace | 97 } // namespace |
99 | 98 |
100 typedef AshTestBase NestedDispatcherTest; | 99 typedef AshTestBase NestedDispatcherTest; |
101 | 100 |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
147 DispatchKeyReleaseA(); | 146 DispatchKeyReleaseA(); |
148 aura::client::GetDispatcherClient(root_window)->RunWithDispatcher( | 147 aura::client::GetDispatcherClient(root_window)->RunWithDispatcher( |
149 &inner_dispatcher, | 148 &inner_dispatcher, |
150 root_window); | 149 root_window); |
151 EXPECT_EQ(0, inner_dispatcher.num_key_events_dispatched()); | 150 EXPECT_EQ(0, inner_dispatcher.num_key_events_dispatched()); |
152 EXPECT_EQ(1, target.accelerator_pressed_count()); | 151 EXPECT_EQ(1, target.accelerator_pressed_count()); |
153 } | 152 } |
154 | 153 |
155 } // namespace test | 154 } // namespace test |
156 } // namespace ash | 155 } // namespace ash |
OLD | NEW |