OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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/views/mus/pointer_watcher_event_router.h" | 5 #include "ui/views/mus/pointer_watcher_event_router.h" |
6 | 6 |
7 #include <memory> | 7 #include <memory> |
8 | 8 |
9 #include "base/message_loop/message_loop.h" | 9 #include "base/message_loop/message_loop.h" |
10 #include "services/ui/public/cpp/tests/window_tree_client_private.h" | 10 #include "services/ui/public/cpp/tests/window_tree_client_private.h" |
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
124 ASSERT_TRUE(pointer_watcher_event_router); | 124 ASSERT_TRUE(pointer_watcher_event_router); |
125 | 125 |
126 ui::PointerEvent pointer_event_down( | 126 ui::PointerEvent pointer_event_down( |
127 ui::ET_POINTER_DOWN, gfx::Point(), gfx::Point(), ui::EF_NONE, 1, 0, | 127 ui::ET_POINTER_DOWN, gfx::Point(), gfx::Point(), ui::EF_NONE, 1, 0, |
128 ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_TOUCH), | 128 ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_TOUCH), |
129 base::TimeTicks()); | 129 base::TimeTicks()); |
130 ui::PointerEvent pointer_event_up( | 130 ui::PointerEvent pointer_event_up( |
131 ui::ET_POINTER_UP, gfx::Point(), gfx::Point(), ui::EF_NONE, 1, 0, | 131 ui::ET_POINTER_UP, gfx::Point(), gfx::Point(), ui::EF_NONE, 1, 0, |
132 ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_MOUSE), | 132 ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_MOUSE), |
133 base::TimeTicks()); | 133 base::TimeTicks()); |
| 134 ui::PointerEvent pointer_event_wheel( |
| 135 ui::ET_POINTER_WHEEL_CHANGED, gfx::Point(), gfx::Point(), ui::EF_NONE, 1, |
| 136 0, ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_MOUSE), |
| 137 base::TimeTicks()); |
| 138 ui::PointerEvent pointer_event_capture( |
| 139 ui::ET_POINTER_CAPTURE_CHANGED, gfx::Point(), gfx::Point(), ui::EF_NONE, |
| 140 1, 0, ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_MOUSE), |
| 141 base::TimeTicks()); |
134 | 142 |
135 // PointerWatchers receive pointer down events. | 143 // PointerWatchers receive pointer down events. |
136 TestPointerWatcher watcher1; | 144 TestPointerWatcher watcher1; |
137 pointer_watcher_event_router->AddPointerWatcher(&watcher1, false); | 145 pointer_watcher_event_router->AddPointerWatcher(&watcher1, false); |
138 OnPointerEventObserved(pointer_event_down); | 146 OnPointerEventObserved(pointer_event_down); |
139 EXPECT_EQ(ui::ET_POINTER_DOWN, watcher1.last_event_observed()->type()); | 147 EXPECT_EQ(ui::ET_POINTER_DOWN, watcher1.last_event_observed()->type()); |
140 watcher1.Reset(); | 148 watcher1.Reset(); |
141 | 149 |
142 // PointerWatchers receive pointer up events. | 150 // PointerWatchers receive pointer up events. |
143 OnPointerEventObserved(pointer_event_up); | 151 OnPointerEventObserved(pointer_event_up); |
144 EXPECT_EQ(ui::ET_POINTER_UP, watcher1.last_event_observed()->type()); | 152 EXPECT_EQ(ui::ET_POINTER_UP, watcher1.last_event_observed()->type()); |
145 watcher1.Reset(); | 153 watcher1.Reset(); |
146 | 154 |
| 155 // PointerWatchers receive pointer wheel changed events. |
| 156 OnPointerEventObserved(pointer_event_wheel); |
| 157 EXPECT_EQ(ui::ET_POINTER_WHEEL_CHANGED, |
| 158 watcher1.last_event_observed()->type()); |
| 159 watcher1.Reset(); |
| 160 |
| 161 // PointerWatchers receive pointer capture changed events. |
| 162 OnPointerEventObserved(pointer_event_capture); |
| 163 EXPECT_EQ(ui::ET_POINTER_CAPTURE_CHANGED, |
| 164 watcher1.last_event_observed()->type()); |
| 165 watcher1.Reset(); |
| 166 |
147 // Two PointerWatchers can both receive a single observed event. | 167 // Two PointerWatchers can both receive a single observed event. |
148 TestPointerWatcher watcher2; | 168 TestPointerWatcher watcher2; |
149 pointer_watcher_event_router->AddPointerWatcher(&watcher2, false); | 169 pointer_watcher_event_router->AddPointerWatcher(&watcher2, false); |
150 OnPointerEventObserved(pointer_event_down); | 170 OnPointerEventObserved(pointer_event_down); |
151 EXPECT_EQ(ui::ET_POINTER_DOWN, watcher1.last_event_observed()->type()); | 171 EXPECT_EQ(ui::ET_POINTER_DOWN, watcher1.last_event_observed()->type()); |
152 EXPECT_EQ(ui::ET_POINTER_DOWN, watcher2.last_event_observed()->type()); | 172 EXPECT_EQ(ui::ET_POINTER_DOWN, watcher2.last_event_observed()->type()); |
153 watcher1.Reset(); | 173 watcher1.Reset(); |
154 watcher2.Reset(); | 174 watcher2.Reset(); |
155 | 175 |
156 // Removing the first PointerWatcher stops sending events to it. | 176 // Removing the first PointerWatcher stops sending events to it. |
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
215 watcher2.Reset(); | 235 watcher2.Reset(); |
216 | 236 |
217 // Removing the last PointerWatcher stops sending events to it. | 237 // Removing the last PointerWatcher stops sending events to it. |
218 pointer_watcher_event_router->RemovePointerWatcher(&watcher2); | 238 pointer_watcher_event_router->RemovePointerWatcher(&watcher2); |
219 OnPointerEventObserved(pointer_event_move); | 239 OnPointerEventObserved(pointer_event_move); |
220 EXPECT_FALSE(watcher1.last_event_observed()); | 240 EXPECT_FALSE(watcher1.last_event_observed()); |
221 EXPECT_FALSE(watcher2.last_event_observed()); | 241 EXPECT_FALSE(watcher2.last_event_observed()); |
222 } | 242 } |
223 | 243 |
224 } // namespace views | 244 } // namespace views |
OLD | NEW |