Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(77)

Side by Side Diff: ui/aura/event_filter_unittest.cc

Issue 11047030: Decouple EventClientImpl and root window. Check containers on the same root window as focused windo… (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix type in event_filter_unittest Created 8 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « ash/wm/power_button_controller.cc ('k') | ui/aura/test/event_generator.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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/aura/event_filter.h" 5 #include "ui/aura/event_filter.h"
6 6
7 #include "base/basictypes.h" 7 #include "base/basictypes.h"
8 #include "base/compiler_specific.h" 8 #include "base/compiler_specific.h"
9 #include "ui/aura/focus_manager.h" 9 #include "ui/aura/focus_manager.h"
10 #include "ui/aura/root_window.h" 10 #include "ui/aura/root_window.h"
(...skipping 182 matching lines...) Expand 10 before | Expand all | Expand 10 after
193 // event filters and w11's delegate will be notified. 193 // event filters and w11's delegate will be notified.
194 test::EventGenerator generator(root_window(), w11.get()); 194 test::EventGenerator generator(root_window(), w11.get());
195 195
196 d11.set_key_event_handling_result(ui::ER_UNHANDLED); 196 d11.set_key_event_handling_result(ui::ER_UNHANDLED);
197 d11.set_mouse_event_handling_result(ui::ER_UNHANDLED); 197 d11.set_mouse_event_handling_result(ui::ER_UNHANDLED);
198 d11.set_consumes_touch_events(false); 198 d11.set_consumes_touch_events(false);
199 199
200 generator.PressKey(ui::VKEY_A, 0); 200 generator.PressKey(ui::VKEY_A, 0);
201 generator.PressLeftButton(); 201 generator.PressLeftButton();
202 202
203 EXPECT_EQ(1, w1_filter->key_event_count()); 203 #if defined(OS_WIN)
204 // Windows sends two WM_KEYDOWN/WM_CHAR events for one key press.
205 const int kExpectedKeyCount = 2;
206 #else
207 const int kExpectedKeyCount = 1;
208 #endif
209
210 EXPECT_EQ(kExpectedKeyCount, w1_filter->key_event_count());
204 EXPECT_EQ(1, w1_filter->mouse_event_count()); 211 EXPECT_EQ(1, w1_filter->mouse_event_count());
205 EXPECT_EQ(1, root_window_filter.mouse_event_count()); 212 EXPECT_EQ(1, root_window_filter.mouse_event_count());
206 EXPECT_EQ(1, d11.key_event_count()); 213 EXPECT_EQ(kExpectedKeyCount, d11.key_event_count());
207 EXPECT_EQ(1, d11.mouse_event_count()); 214 EXPECT_EQ(1, d11.mouse_event_count());
208 215
209 root_window_filter.ResetCounts(); 216 root_window_filter.ResetCounts();
210 w1_filter->ResetCounts(); 217 w1_filter->ResetCounts();
211 d11.ResetCounts(); 218 d11.ResetCounts();
212 generator.set_flags(0); 219 generator.set_flags(0);
213 220
214 // Let |w1_filter| handle (but not consume) an event. The root-window's 221 // Let |w1_filter| handle (but not consume) an event. The root-window's
215 // post-target filter should still receive the event. 222 // post-target filter should still receive the event.
216 w1_filter->set_mouse_event_handling_result(ui::ER_HANDLED); 223 w1_filter->set_mouse_event_handling_result(ui::ER_HANDLED);
(...skipping 22 matching lines...) Expand all
239 generator.set_flags(0); 246 generator.set_flags(0);
240 247
241 w1_filter->set_mouse_event_handling_result(ui::ER_UNHANDLED); 248 w1_filter->set_mouse_event_handling_result(ui::ER_UNHANDLED);
242 d11.set_key_event_handling_result(ui::ER_HANDLED); 249 d11.set_key_event_handling_result(ui::ER_HANDLED);
243 d11.set_mouse_event_handling_result(ui::ER_HANDLED); 250 d11.set_mouse_event_handling_result(ui::ER_HANDLED);
244 d11.set_consumes_touch_events(true); 251 d11.set_consumes_touch_events(true);
245 252
246 generator.PressKey(ui::VKEY_A, 0); 253 generator.PressKey(ui::VKEY_A, 0);
247 generator.PressLeftButton(); 254 generator.PressLeftButton();
248 255
249 EXPECT_EQ(1, d11.key_event_count()); 256 EXPECT_EQ(kExpectedKeyCount, d11.key_event_count());
250 EXPECT_EQ(1, d11.mouse_event_count()); 257 EXPECT_EQ(1, d11.mouse_event_count());
251 // The delegate processed the event. But it should still bubble up to the 258 // The delegate processed the event. But it should still bubble up to the
252 // post-target filters. 259 // post-target filters.
253 EXPECT_EQ(1, w1_filter->key_event_count()); 260 EXPECT_EQ(kExpectedKeyCount, w1_filter->key_event_count());
254 EXPECT_EQ(1, root_window_filter.key_event_count()); 261 EXPECT_EQ(kExpectedKeyCount, root_window_filter.key_event_count());
255 EXPECT_EQ(1, w1_filter->mouse_event_count()); 262 EXPECT_EQ(1, w1_filter->mouse_event_count());
256 EXPECT_EQ(1, root_window_filter.mouse_event_count()); 263 EXPECT_EQ(1, root_window_filter.mouse_event_count());
257 264
258 // Now we'll have the delegate consume the events. 265 // Now we'll have the delegate consume the events.
259 root_window_filter.ResetCounts(); 266 root_window_filter.ResetCounts();
260 w1_filter->ResetCounts(); 267 w1_filter->ResetCounts();
261 d11.ResetCounts(); 268 d11.ResetCounts();
262 generator.set_flags(0); 269 generator.set_flags(0);
263 270
264 d11.set_key_event_handling_result(ui::ER_CONSUMED); 271 d11.set_key_event_handling_result(ui::ER_CONSUMED);
265 d11.set_mouse_event_handling_result(ui::ER_CONSUMED); 272 d11.set_mouse_event_handling_result(ui::ER_CONSUMED);
266 d11.set_consumes_touch_events(true); 273 d11.set_consumes_touch_events(true);
267 274
268 generator.PressKey(ui::VKEY_A, 0); 275 generator.PressKey(ui::VKEY_A, 0);
269 generator.PressLeftButton(); 276 generator.PressLeftButton();
270 277
271 EXPECT_EQ(1, d11.key_event_count()); 278 EXPECT_EQ(kExpectedKeyCount, d11.key_event_count());
272 EXPECT_EQ(1, d11.mouse_event_count()); 279 EXPECT_EQ(1, d11.mouse_event_count());
273 // The delegate consumed the event. So it should no longer reach the 280 // The delegate consumed the event. So it should no longer reach the
274 // post-target filters. 281 // post-target filters.
275 EXPECT_EQ(0, w1_filter->key_event_count()); 282 EXPECT_EQ(0, w1_filter->key_event_count());
276 EXPECT_EQ(0, root_window_filter.key_event_count()); 283 EXPECT_EQ(0, root_window_filter.key_event_count());
277 EXPECT_EQ(0, w1_filter->mouse_event_count()); 284 EXPECT_EQ(0, w1_filter->mouse_event_count());
278 EXPECT_EQ(0, root_window_filter.mouse_event_count()); 285 EXPECT_EQ(0, root_window_filter.mouse_event_count());
279 286
280 // Now we'll have the pre-filter methods consume the events. 287 // Now we'll have the pre-filter methods consume the events.
281 w1->RemovePostTargetHandler(w1_filter); 288 w1->RemovePostTargetHandler(w1_filter);
282 w1->SetEventFilter(w1_filter); 289 w1->SetEventFilter(w1_filter);
283 w1_filter->ResetCounts(); 290 w1_filter->ResetCounts();
284 d11.ResetCounts(); 291 d11.ResetCounts();
285 generator.set_flags(0); 292 generator.set_flags(0);
286 293
287 d11.set_key_event_handling_result(ui::ER_UNHANDLED); 294 d11.set_key_event_handling_result(ui::ER_UNHANDLED);
288 d11.set_mouse_event_handling_result(ui::ER_UNHANDLED); 295 d11.set_mouse_event_handling_result(ui::ER_UNHANDLED);
289 d11.set_consumes_touch_events(false); 296 d11.set_consumes_touch_events(false);
290 297
291 w1_filter->set_key_event_handling_result(ui::ER_CONSUMED); 298 w1_filter->set_key_event_handling_result(ui::ER_CONSUMED);
292 w1_filter->set_mouse_event_handling_result(ui::ER_CONSUMED); 299 w1_filter->set_mouse_event_handling_result(ui::ER_CONSUMED);
293 w1_filter->set_consumes_touch_events(true); 300 w1_filter->set_consumes_touch_events(true);
294 301
295 generator.PressKey(ui::VKEY_A, 0); 302 generator.PressKey(ui::VKEY_A, 0);
296 generator.PressLeftButton(); 303 generator.PressLeftButton();
297 304
298 EXPECT_EQ(1, w1_filter->key_event_count()); 305 EXPECT_EQ(kExpectedKeyCount, w1_filter->key_event_count());
299 EXPECT_EQ(0, d11.key_event_count()); 306 EXPECT_EQ(0, d11.key_event_count());
300 EXPECT_EQ(1, w1_filter->mouse_event_count()); 307 EXPECT_EQ(1, w1_filter->mouse_event_count());
301 EXPECT_EQ(0, d11.mouse_event_count()); 308 EXPECT_EQ(0, d11.mouse_event_count());
302 } 309 }
303 310
304 } // namespace aura 311 } // namespace aura
OLDNEW
« no previous file with comments | « ash/wm/power_button_controller.cc ('k') | ui/aura/test/event_generator.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698