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/session_state_delegate.h" | 6 #include "ash/session/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 105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
116 aura::test::CreateTestWindowWithId(1, mock_lock_container.get()); | 116 aura::test::CreateTestWindowWithId(1, mock_lock_container.get()); |
117 scoped_ptr<aura::Window> associated_window(CreateTestWindowInShellWithId(2)); | 117 scoped_ptr<aura::Window> associated_window(CreateTestWindowInShellWithId(2)); |
118 EXPECT_TRUE(aura::test::WindowIsAbove(associated_window.get(), | 118 EXPECT_TRUE(aura::test::WindowIsAbove(associated_window.get(), |
119 mock_lock_container.get())); | 119 mock_lock_container.get())); |
120 | 120 |
121 DispatchKeyReleaseA(); | 121 DispatchKeyReleaseA(); |
122 aura::Window* root_window = ash::Shell::GetPrimaryRootWindow(); | 122 aura::Window* root_window = ash::Shell::GetPrimaryRootWindow(); |
123 scoped_ptr<ui::ScopedEventDispatcher> override_dispatcher = | 123 scoped_ptr<ui::ScopedEventDispatcher> override_dispatcher = |
124 ui::PlatformEventSource::GetInstance()->OverrideDispatcher( | 124 ui::PlatformEventSource::GetInstance()->OverrideDispatcher( |
125 &inner_dispatcher); | 125 &inner_dispatcher); |
126 aura::client::GetDispatcherClient(root_window)->RunWithDispatcher(NULL); | 126 base::Closure quit_runloop; |
| 127 aura::client::GetDispatcherClient(root_window)->RunWithDispatcher( |
| 128 NULL, &quit_runloop); |
127 EXPECT_EQ(1, inner_dispatcher.num_key_events_dispatched()); | 129 EXPECT_EQ(1, inner_dispatcher.num_key_events_dispatched()); |
128 } | 130 } |
129 | 131 |
130 // Test that the nested dispatcher handles accelerators. | 132 // Test that the nested dispatcher handles accelerators. |
131 TEST_F(NestedDispatcherTest, AcceleratorsHandled) { | 133 TEST_F(NestedDispatcherTest, AcceleratorsHandled) { |
132 MockDispatcher inner_dispatcher; | 134 MockDispatcher inner_dispatcher; |
133 aura::Window* root_window = ash::Shell::GetPrimaryRootWindow(); | 135 aura::Window* root_window = ash::Shell::GetPrimaryRootWindow(); |
134 | 136 |
135 ui::Accelerator accelerator(ui::VKEY_A, ui::EF_NONE); | 137 ui::Accelerator accelerator(ui::VKEY_A, ui::EF_NONE); |
136 accelerator.set_type(ui::ET_KEY_RELEASED); | 138 accelerator.set_type(ui::ET_KEY_RELEASED); |
137 TestTarget target; | 139 TestTarget target; |
138 Shell::GetInstance()->accelerator_controller()->Register(accelerator, | 140 Shell::GetInstance()->accelerator_controller()->Register(accelerator, |
139 &target); | 141 &target); |
140 | 142 |
141 DispatchKeyReleaseA(); | 143 DispatchKeyReleaseA(); |
142 scoped_ptr<ui::ScopedEventDispatcher> override_dispatcher = | 144 scoped_ptr<ui::ScopedEventDispatcher> override_dispatcher = |
143 ui::PlatformEventSource::GetInstance()->OverrideDispatcher( | 145 ui::PlatformEventSource::GetInstance()->OverrideDispatcher( |
144 &inner_dispatcher); | 146 &inner_dispatcher); |
145 aura::client::GetDispatcherClient(root_window)->RunWithDispatcher(NULL); | 147 base::Closure quit_runloop; |
| 148 aura::client::GetDispatcherClient(root_window)->RunWithDispatcher( |
| 149 NULL, &quit_runloop); |
146 EXPECT_EQ(0, inner_dispatcher.num_key_events_dispatched()); | 150 EXPECT_EQ(0, inner_dispatcher.num_key_events_dispatched()); |
147 EXPECT_EQ(1, target.accelerator_pressed_count()); | 151 EXPECT_EQ(1, target.accelerator_pressed_count()); |
148 } | 152 } |
149 | 153 |
150 } // namespace test | 154 } // namespace test |
151 } // namespace ash | 155 } // namespace ash |
OLD | NEW |