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

Side by Side Diff: ui/events/event_dispatcher_unittest.cc

Issue 2786693002: Add PointerDetails to ui::MouseEvent's constructors (Closed)
Patch Set: mouse event constructor Created 3 years, 8 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
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/events/event_dispatcher.h" 5 #include "ui/events/event_dispatcher.h"
6 6
7 #include "base/macros.h" 7 #include "base/macros.h"
8 #include "testing/gtest/include/gtest/gtest.h" 8 #include "testing/gtest/include/gtest/gtest.h"
9 #include "ui/events/event.h" 9 #include "ui/events/event.h"
10 #include "ui/events/event_dispatcher.h" 10 #include "ui/events/event_dispatcher.h"
(...skipping 222 matching lines...) Expand 10 before | Expand all | Expand 10 after
233 child.AddPostTargetHandler(&h6); 233 child.AddPostTargetHandler(&h6);
234 234
235 parent.AddPostTargetHandler(&h7); 235 parent.AddPostTargetHandler(&h7);
236 parent.AddPostTargetHandler(&h8); 236 parent.AddPostTargetHandler(&h8);
237 237
238 h5.set_expect_post_target(true); 238 h5.set_expect_post_target(true);
239 h6.set_expect_post_target(true); 239 h6.set_expect_post_target(true);
240 h7.set_expect_post_target(true); 240 h7.set_expect_post_target(true);
241 h8.set_expect_post_target(true); 241 h8.set_expect_post_target(true);
242 242
243 MouseEvent mouse(ui::ET_MOUSE_MOVED, gfx::Point(3, 4), gfx::Point(3, 4), 243 MouseEvent mouse(
244 ui::EventTimeForNow(), 0, 0); 244 ui::ET_MOUSE_MOVED, gfx::Point(3, 4), gfx::Point(3, 4),
245 ui::EventTimeForNow(), 0, 0,
246 ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_MOUSE));
245 Event::DispatcherApi event_mod(&mouse); 247 Event::DispatcherApi event_mod(&mouse);
246 dispatcher.ProcessEvent(&child, &mouse); 248 dispatcher.ProcessEvent(&child, &mouse);
247 EXPECT_FALSE(mouse.stopped_propagation()); 249 EXPECT_FALSE(mouse.stopped_propagation());
248 EXPECT_FALSE(mouse.handled()); 250 EXPECT_FALSE(mouse.handled());
249 251
250 { 252 {
251 int expected[] = { 1, 2, 3, 4, 5, 6, 7, 8 }; 253 int expected[] = { 1, 2, 3, 4, 5, 6, 7, 8 };
252 EXPECT_EQ( 254 EXPECT_EQ(
253 std::vector<int>(expected, expected + sizeof(expected) / sizeof(int)), 255 std::vector<int>(expected, expected + sizeof(expected) / sizeof(int)),
254 child.handler_list()); 256 child.handler_list());
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
307 TestEventDispatcher dispatcher; 309 TestEventDispatcher dispatcher;
308 TestTarget target; 310 TestTarget target;
309 311
310 TestEventHandler handler(11); 312 TestEventHandler handler(11);
311 313
312 target.AddPreTargetHandler(&handler); 314 target.AddPreTargetHandler(&handler);
313 target.AddPostTargetHandler(&handler); 315 target.AddPostTargetHandler(&handler);
314 handler.set_expect_pre_target(true); 316 handler.set_expect_pre_target(true);
315 handler.set_expect_post_target(true); 317 handler.set_expect_post_target(true);
316 318
317 MouseEvent mouse(ui::ET_MOUSE_MOVED, gfx::Point(3, 4), gfx::Point(3, 4), 319 MouseEvent mouse(
318 ui::EventTimeForNow(), 0, 0); 320 ui::ET_MOUSE_MOVED, gfx::Point(3, 4), gfx::Point(3, 4),
321 ui::EventTimeForNow(), 0, 0,
322 ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_MOUSE));
319 Event::DispatcherApi event_mod(&mouse); 323 Event::DispatcherApi event_mod(&mouse);
320 dispatcher.ProcessEvent(&target, &mouse); 324 dispatcher.ProcessEvent(&target, &mouse);
321 EXPECT_EQ(ER_UNHANDLED, mouse.result()); 325 EXPECT_EQ(ER_UNHANDLED, mouse.result());
322 326
323 int handlers[] = { 11, 11 }; 327 int handlers[] = { 11, 11 };
324 EXPECT_EQ( 328 EXPECT_EQ(
325 std::vector<int>(handlers, handlers + sizeof(handlers) / sizeof(int)), 329 std::vector<int>(handlers, handlers + sizeof(handlers) / sizeof(int)),
326 target.handler_list()); 330 target.handler_list());
327 } 331 }
328 332
(...skipping 10 matching lines...) Expand all
339 target.AddPreTargetHandler(&h1); 343 target.AddPreTargetHandler(&h1);
340 target.AddPreTargetHandler(&handler); 344 target.AddPreTargetHandler(&handler);
341 target.AddPreTargetHandler(&h2); 345 target.AddPreTargetHandler(&h2);
342 346
343 h1.set_expect_pre_target(true); 347 h1.set_expect_pre_target(true);
344 handler.set_expect_pre_target(true); 348 handler.set_expect_pre_target(true);
345 // |h2| should not receive any events at all since |handler| will have 349 // |h2| should not receive any events at all since |handler| will have
346 // destroyed the dispatcher. 350 // destroyed the dispatcher.
347 h2.set_expect_pre_target(false); 351 h2.set_expect_pre_target(false);
348 352
349 MouseEvent mouse(ui::ET_MOUSE_MOVED, gfx::Point(3, 4), gfx::Point(3, 4), 353 MouseEvent mouse(
350 ui::EventTimeForNow(), 0, 0); 354 ui::ET_MOUSE_MOVED, gfx::Point(3, 4), gfx::Point(3, 4),
355 ui::EventTimeForNow(), 0, 0,
356 ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_MOUSE));
351 EventDispatchDetails details = dispatcher->ProcessEvent(&target, &mouse); 357 EventDispatchDetails details = dispatcher->ProcessEvent(&target, &mouse);
352 EXPECT_TRUE(details.dispatcher_destroyed); 358 EXPECT_TRUE(details.dispatcher_destroyed);
353 EXPECT_EQ(ER_CONSUMED, mouse.result()); 359 EXPECT_EQ(ER_CONSUMED, mouse.result());
354 EXPECT_EQ(2U, target.handler_list().size()); 360 EXPECT_EQ(2U, target.handler_list().size());
355 EXPECT_EQ(1, target.handler_list()[0]); 361 EXPECT_EQ(1, target.handler_list()[0]);
356 EXPECT_EQ(5, target.handler_list()[1]); 362 EXPECT_EQ(5, target.handler_list()[1]);
357 } 363 }
358 364
359 // Test for non-cancelable event. 365 // Test for non-cancelable event.
360 { 366 {
(...skipping 30 matching lines...) Expand all
391 target.AddPostTargetHandler(&h1); 397 target.AddPostTargetHandler(&h1);
392 target.AddPostTargetHandler(&handler); 398 target.AddPostTargetHandler(&handler);
393 target.AddPostTargetHandler(&h2); 399 target.AddPostTargetHandler(&h2);
394 400
395 h1.set_expect_post_target(true); 401 h1.set_expect_post_target(true);
396 handler.set_expect_post_target(true); 402 handler.set_expect_post_target(true);
397 // |h2| should not receive any events at all since |handler| will have 403 // |h2| should not receive any events at all since |handler| will have
398 // destroyed the dispatcher. 404 // destroyed the dispatcher.
399 h2.set_expect_post_target(false); 405 h2.set_expect_post_target(false);
400 406
401 MouseEvent mouse(ui::ET_MOUSE_MOVED, gfx::Point(3, 4), gfx::Point(3, 4), 407 MouseEvent mouse(
402 ui::EventTimeForNow(), 0, 0); 408 ui::ET_MOUSE_MOVED, gfx::Point(3, 4), gfx::Point(3, 4),
409 ui::EventTimeForNow(), 0, 0,
410 ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_MOUSE));
403 EventDispatchDetails details = dispatcher->ProcessEvent(&target, &mouse); 411 EventDispatchDetails details = dispatcher->ProcessEvent(&target, &mouse);
404 EXPECT_TRUE(details.dispatcher_destroyed); 412 EXPECT_TRUE(details.dispatcher_destroyed);
405 EXPECT_EQ(ER_CONSUMED, mouse.result()); 413 EXPECT_EQ(ER_CONSUMED, mouse.result());
406 EXPECT_EQ(2U, target.handler_list().size()); 414 EXPECT_EQ(2U, target.handler_list().size());
407 EXPECT_EQ(1, target.handler_list()[0]); 415 EXPECT_EQ(1, target.handler_list()[0]);
408 EXPECT_EQ(5, target.handler_list()[1]); 416 EXPECT_EQ(5, target.handler_list()[1]);
409 } 417 }
410 418
411 // Test for non-cancelable event. 419 // Test for non-cancelable event.
412 { 420 {
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
445 453
446 target.AddPreTargetHandler(&h1); 454 target.AddPreTargetHandler(&h1);
447 target.AddPreTargetHandler(&invalidate_handler); 455 target.AddPreTargetHandler(&invalidate_handler);
448 target.AddPreTargetHandler(&h3); 456 target.AddPreTargetHandler(&h3);
449 457
450 h1.set_expect_pre_target(true); 458 h1.set_expect_pre_target(true);
451 invalidate_handler.set_expect_pre_target(true); 459 invalidate_handler.set_expect_pre_target(true);
452 // |h3| should not receive events as the target will be invalidated. 460 // |h3| should not receive events as the target will be invalidated.
453 h3.set_expect_pre_target(false); 461 h3.set_expect_pre_target(false);
454 462
455 MouseEvent mouse(ui::ET_MOUSE_MOVED, gfx::Point(3, 4), gfx::Point(3, 4), 463 MouseEvent mouse(
456 ui::EventTimeForNow(), 0, 0); 464 ui::ET_MOUSE_MOVED, gfx::Point(3, 4), gfx::Point(3, 4),
465 ui::EventTimeForNow(), 0, 0,
466 ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_MOUSE));
457 EventDispatchDetails details = dispatcher.ProcessEvent(&target, &mouse); 467 EventDispatchDetails details = dispatcher.ProcessEvent(&target, &mouse);
458 EXPECT_FALSE(details.dispatcher_destroyed); 468 EXPECT_FALSE(details.dispatcher_destroyed);
459 EXPECT_TRUE(details.target_destroyed); 469 EXPECT_TRUE(details.target_destroyed);
460 EXPECT_FALSE(target.valid()); 470 EXPECT_FALSE(target.valid());
461 EXPECT_TRUE(mouse.stopped_propagation()); 471 EXPECT_TRUE(mouse.stopped_propagation());
462 EXPECT_EQ(2U, target.handler_list().size()); 472 EXPECT_EQ(2U, target.handler_list().size());
463 EXPECT_EQ(1, target.handler_list()[0]); 473 EXPECT_EQ(1, target.handler_list()[0]);
464 EXPECT_EQ(2, target.handler_list()[1]); 474 EXPECT_EQ(2, target.handler_list()[1]);
465 475
466 // Test for non-cancelable event. 476 // Test for non-cancelable event.
(...skipping 21 matching lines...) Expand all
488 target.AddPreTargetHandler(&h1); 498 target.AddPreTargetHandler(&h1);
489 target.AddPreTargetHandler(&handle_destroyer); 499 target.AddPreTargetHandler(&handle_destroyer);
490 target.AddPreTargetHandler(h3); 500 target.AddPreTargetHandler(h3);
491 501
492 h1.set_expect_pre_target(true); 502 h1.set_expect_pre_target(true);
493 handle_destroyer.set_expect_pre_target(true); 503 handle_destroyer.set_expect_pre_target(true);
494 // |h3| should not receive events since |handle_destroyer| will have 504 // |h3| should not receive events since |handle_destroyer| will have
495 // destroyed it. 505 // destroyed it.
496 h3->set_expect_pre_target(false); 506 h3->set_expect_pre_target(false);
497 507
498 MouseEvent mouse(ui::ET_MOUSE_MOVED, gfx::Point(3, 4), gfx::Point(3, 4), 508 MouseEvent mouse(
499 ui::EventTimeForNow(), 0, 0); 509 ui::ET_MOUSE_MOVED, gfx::Point(3, 4), gfx::Point(3, 4),
510 ui::EventTimeForNow(), 0, 0,
511 ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_MOUSE));
500 EventDispatchDetails details = dispatcher.ProcessEvent(&target, &mouse); 512 EventDispatchDetails details = dispatcher.ProcessEvent(&target, &mouse);
501 EXPECT_FALSE(details.dispatcher_destroyed); 513 EXPECT_FALSE(details.dispatcher_destroyed);
502 EXPECT_FALSE(details.target_destroyed); 514 EXPECT_FALSE(details.target_destroyed);
503 EXPECT_FALSE(mouse.stopped_propagation()); 515 EXPECT_FALSE(mouse.stopped_propagation());
504 EXPECT_EQ(2U, target.handler_list().size()); 516 EXPECT_EQ(2U, target.handler_list().size());
505 EXPECT_EQ(1, target.handler_list()[0]); 517 EXPECT_EQ(1, target.handler_list()[0]);
506 EXPECT_EQ(2, target.handler_list()[1]); 518 EXPECT_EQ(2, target.handler_list()[1]);
507 } 519 }
508 520
509 // Test for non-cancelable events. 521 // Test for non-cancelable events.
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
546 target.AddPreTargetHandler(&destroyer); 558 target.AddPreTargetHandler(&destroyer);
547 target.AddPreTargetHandler(h3); 559 target.AddPreTargetHandler(h3);
548 560
549 h1.set_expect_pre_target(true); 561 h1.set_expect_pre_target(true);
550 destroyer.set_expect_pre_target(true); 562 destroyer.set_expect_pre_target(true);
551 destroyer.set_dispatcher_delegate(dispatcher); 563 destroyer.set_dispatcher_delegate(dispatcher);
552 // |h3| should not receive events since |destroyer| will have destroyed 564 // |h3| should not receive events since |destroyer| will have destroyed
553 // it. 565 // it.
554 h3->set_expect_pre_target(false); 566 h3->set_expect_pre_target(false);
555 567
556 MouseEvent mouse(ui::ET_MOUSE_MOVED, gfx::Point(3, 4), gfx::Point(3, 4), 568 MouseEvent mouse(
557 ui::EventTimeForNow(), 0, 0); 569 ui::ET_MOUSE_MOVED, gfx::Point(3, 4), gfx::Point(3, 4),
570 ui::EventTimeForNow(), 0, 0,
571 ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_MOUSE));
558 EventDispatchDetails details = dispatcher->ProcessEvent(&target, &mouse); 572 EventDispatchDetails details = dispatcher->ProcessEvent(&target, &mouse);
559 EXPECT_TRUE(details.dispatcher_destroyed); 573 EXPECT_TRUE(details.dispatcher_destroyed);
560 EXPECT_TRUE(mouse.stopped_propagation()); 574 EXPECT_TRUE(mouse.stopped_propagation());
561 EXPECT_EQ(2U, target.handler_list().size()); 575 EXPECT_EQ(2U, target.handler_list().size());
562 EXPECT_EQ(1, target.handler_list()[0]); 576 EXPECT_EQ(1, target.handler_list()[0]);
563 EXPECT_EQ(2, target.handler_list()[1]); 577 EXPECT_EQ(2, target.handler_list()[1]);
564 } 578 }
565 579
566 // Test for non-cancelable events. 580 // Test for non-cancelable events.
567 { 581 {
(...skipping 17 matching lines...) Expand all
585 NonCancelableEvent event; 599 NonCancelableEvent event;
586 EventDispatchDetails details = dispatcher->ProcessEvent(&target, &event); 600 EventDispatchDetails details = dispatcher->ProcessEvent(&target, &event);
587 EXPECT_TRUE(details.dispatcher_destroyed); 601 EXPECT_TRUE(details.dispatcher_destroyed);
588 EXPECT_EQ(2U, target.handler_list().size()); 602 EXPECT_EQ(2U, target.handler_list().size());
589 EXPECT_EQ(1, target.handler_list()[0]); 603 EXPECT_EQ(1, target.handler_list()[0]);
590 EXPECT_EQ(2, target.handler_list()[1]); 604 EXPECT_EQ(2, target.handler_list()[1]);
591 } 605 }
592 } 606 }
593 607
594 } // namespace ui 608 } // namespace ui
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698