| Index: services/ui/ws/event_dispatcher_unittest.cc
|
| diff --git a/services/ui/ws/event_dispatcher_unittest.cc b/services/ui/ws/event_dispatcher_unittest.cc
|
| index e6d241bc1ab362652e6fb40315328f48ee3767db..872fc2d480326ba8ac03a7425311a9996ce461fa 100644
|
| --- a/services/ui/ws/event_dispatcher_unittest.cc
|
| +++ b/services/ui/ws/event_dispatcher_unittest.cc
|
| @@ -340,7 +340,8 @@ TEST_F(EventDispatcherTest, ProcessEvent) {
|
| // Send event that is over child.
|
| const ui::PointerEvent ui_event(ui::MouseEvent(
|
| ui::ET_MOUSE_PRESSED, gfx::Point(20, 25), gfx::Point(20, 25),
|
| - base::TimeTicks(), ui::EF_LEFT_MOUSE_BUTTON, ui::EF_LEFT_MOUSE_BUTTON));
|
| + base::TimeTicks(), ui::EF_LEFT_MOUSE_BUTTON, ui::EF_LEFT_MOUSE_BUTTON,
|
| + ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_MOUSE)));
|
| event_dispatcher()->ProcessEvent(ui_event,
|
| EventDispatcher::AcceleratorMatchPhase::ANY);
|
|
|
| @@ -552,32 +553,40 @@ TEST_F(EventDispatcherTest, Capture) {
|
|
|
| MouseEventTest tests[] = {
|
| // Send a mouse down event over child.
|
| - {ui::MouseEvent(ui::ET_MOUSE_PRESSED, gfx::Point(20, 25),
|
| - gfx::Point(20, 25), base::TimeTicks(),
|
| - ui::EF_LEFT_MOUSE_BUTTON, ui::EF_LEFT_MOUSE_BUTTON),
|
| + {ui::MouseEvent(
|
| + ui::ET_MOUSE_PRESSED, gfx::Point(20, 25), gfx::Point(20, 25),
|
| + base::TimeTicks(), ui::EF_LEFT_MOUSE_BUTTON,
|
| + ui::EF_LEFT_MOUSE_BUTTON,
|
| + ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_MOUSE)),
|
| child.get(), gfx::Point(20, 25), gfx::Point(10, 15), nullptr,
|
| gfx::Point(), gfx::Point()},
|
|
|
| // Capture should be activated. Let's send a mouse move outside the bounds
|
| // of the child.
|
| - {ui::MouseEvent(ui::ET_MOUSE_MOVED, gfx::Point(50, 50),
|
| - gfx::Point(50, 50), base::TimeTicks(),
|
| - ui::EF_LEFT_MOUSE_BUTTON, ui::EF_LEFT_MOUSE_BUTTON),
|
| + {ui::MouseEvent(
|
| + ui::ET_MOUSE_MOVED, gfx::Point(50, 50), gfx::Point(50, 50),
|
| + base::TimeTicks(), ui::EF_LEFT_MOUSE_BUTTON,
|
| + ui::EF_LEFT_MOUSE_BUTTON,
|
| + ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_MOUSE)),
|
| child.get(), gfx::Point(50, 50), gfx::Point(40, 40), nullptr,
|
| gfx::Point(), gfx::Point()},
|
| // Release the mouse and verify that the mouse up event goes to the child.
|
| - {ui::MouseEvent(ui::ET_MOUSE_RELEASED, gfx::Point(50, 50),
|
| - gfx::Point(50, 50), base::TimeTicks(),
|
| - ui::EF_LEFT_MOUSE_BUTTON, ui::EF_LEFT_MOUSE_BUTTON),
|
| + {ui::MouseEvent(
|
| + ui::ET_MOUSE_RELEASED, gfx::Point(50, 50), gfx::Point(50, 50),
|
| + base::TimeTicks(), ui::EF_LEFT_MOUSE_BUTTON,
|
| + ui::EF_LEFT_MOUSE_BUTTON,
|
| + ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_MOUSE)),
|
| child.get(), gfx::Point(50, 50), gfx::Point(40, 40), nullptr,
|
| gfx::Point(), gfx::Point()},
|
|
|
| // A mouse move at (50, 50) should now go to the root window. As the
|
| // move crosses between |child| and |root| |child| gets an exit, and
|
| // |root| the move.
|
| - {ui::MouseEvent(ui::ET_MOUSE_MOVED, gfx::Point(50, 50),
|
| - gfx::Point(50, 50), base::TimeTicks(),
|
| - ui::EF_LEFT_MOUSE_BUTTON, ui::EF_LEFT_MOUSE_BUTTON),
|
| + {ui::MouseEvent(
|
| + ui::ET_MOUSE_MOVED, gfx::Point(50, 50), gfx::Point(50, 50),
|
| + base::TimeTicks(), ui::EF_LEFT_MOUSE_BUTTON,
|
| + ui::EF_LEFT_MOUSE_BUTTON,
|
| + ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_MOUSE)),
|
| child.get(), gfx::Point(50, 50), gfx::Point(40, 40), root,
|
| gfx::Point(50, 50), gfx::Point(50, 50)},
|
|
|
| @@ -594,33 +603,40 @@ TEST_F(EventDispatcherTest, CaptureMultipleMouseButtons) {
|
|
|
| MouseEventTest tests[] = {
|
| // Send a mouse down event over child with a left mouse button
|
| - {ui::MouseEvent(ui::ET_MOUSE_PRESSED, gfx::Point(20, 25),
|
| - gfx::Point(20, 25), base::TimeTicks(),
|
| - ui::EF_LEFT_MOUSE_BUTTON, ui::EF_LEFT_MOUSE_BUTTON),
|
| + {ui::MouseEvent(
|
| + ui::ET_MOUSE_PRESSED, gfx::Point(20, 25), gfx::Point(20, 25),
|
| + base::TimeTicks(), ui::EF_LEFT_MOUSE_BUTTON,
|
| + ui::EF_LEFT_MOUSE_BUTTON,
|
| + ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_MOUSE)),
|
| child.get(), gfx::Point(20, 25), gfx::Point(10, 15), nullptr,
|
| gfx::Point(), gfx::Point()},
|
|
|
| // Capture should be activated. Let's send a mouse move outside the bounds
|
| // of the child and press the right mouse button too.
|
| - {ui::MouseEvent(ui::ET_MOUSE_MOVED, gfx::Point(50, 50),
|
| - gfx::Point(50, 50), base::TimeTicks(),
|
| - ui::EF_LEFT_MOUSE_BUTTON | ui::EF_RIGHT_MOUSE_BUTTON, 0),
|
| + {ui::MouseEvent(
|
| + ui::ET_MOUSE_MOVED, gfx::Point(50, 50), gfx::Point(50, 50),
|
| + base::TimeTicks(),
|
| + ui::EF_LEFT_MOUSE_BUTTON | ui::EF_RIGHT_MOUSE_BUTTON, 0,
|
| + ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_MOUSE)),
|
| child.get(), gfx::Point(50, 50), gfx::Point(40, 40), nullptr,
|
| gfx::Point(), gfx::Point()},
|
|
|
| // Release the left mouse button and verify that the mouse up event goes
|
| // to the child.
|
| - {ui::MouseEvent(ui::ET_MOUSE_RELEASED, gfx::Point(50, 50),
|
| - gfx::Point(50, 50), base::TimeTicks(),
|
| - ui::EF_LEFT_MOUSE_BUTTON | ui::EF_RIGHT_MOUSE_BUTTON,
|
| - ui::EF_RIGHT_MOUSE_BUTTON),
|
| + {ui::MouseEvent(
|
| + ui::ET_MOUSE_RELEASED, gfx::Point(50, 50), gfx::Point(50, 50),
|
| + base::TimeTicks(),
|
| + ui::EF_LEFT_MOUSE_BUTTON | ui::EF_RIGHT_MOUSE_BUTTON,
|
| + ui::EF_RIGHT_MOUSE_BUTTON,
|
| + ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_MOUSE)),
|
| child.get(), gfx::Point(50, 50), gfx::Point(40, 40), nullptr,
|
| gfx::Point(), gfx::Point()},
|
|
|
| // A mouse move at (50, 50) should still go to the child.
|
| - {ui::MouseEvent(ui::ET_MOUSE_MOVED, gfx::Point(50, 50),
|
| - gfx::Point(50, 50), base::TimeTicks(),
|
| - ui::EF_LEFT_MOUSE_BUTTON, 0),
|
| + {ui::MouseEvent(
|
| + ui::ET_MOUSE_MOVED, gfx::Point(50, 50), gfx::Point(50, 50),
|
| + base::TimeTicks(), ui::EF_LEFT_MOUSE_BUTTON, 0,
|
| + ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_MOUSE)),
|
| child.get(), gfx::Point(50, 50), gfx::Point(40, 40), nullptr,
|
| gfx::Point(), gfx::Point()},
|
|
|
| @@ -644,7 +660,8 @@ TEST_F(EventDispatcherTest, ClientAreaGoesToOwner) {
|
| // Start move loop by sending mouse event over non-client area.
|
| const ui::PointerEvent press_event(ui::MouseEvent(
|
| ui::ET_MOUSE_PRESSED, gfx::Point(12, 12), gfx::Point(12, 12),
|
| - base::TimeTicks(), ui::EF_LEFT_MOUSE_BUTTON, ui::EF_LEFT_MOUSE_BUTTON));
|
| + base::TimeTicks(), ui::EF_LEFT_MOUSE_BUTTON, ui::EF_LEFT_MOUSE_BUTTON,
|
| + ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_MOUSE)));
|
| dispatcher->ProcessEvent(press_event,
|
| EventDispatcher::AcceleratorMatchPhase::ANY);
|
|
|
| @@ -657,9 +674,10 @@ TEST_F(EventDispatcherTest, ClientAreaGoesToOwner) {
|
| EXPECT_TRUE(details->IsNonclientArea());
|
|
|
| // Move the mouse 5,6 pixels and target is the same.
|
| - const ui::PointerEvent move_event(
|
| - ui::MouseEvent(ui::ET_MOUSE_MOVED, gfx::Point(17, 18), gfx::Point(17, 18),
|
| - base::TimeTicks(), ui::EF_LEFT_MOUSE_BUTTON, 0));
|
| + const ui::PointerEvent move_event(ui::MouseEvent(
|
| + ui::ET_MOUSE_MOVED, gfx::Point(17, 18), gfx::Point(17, 18),
|
| + base::TimeTicks(), ui::EF_LEFT_MOUSE_BUTTON, 0,
|
| + ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_MOUSE)));
|
| dispatcher->ProcessEvent(move_event,
|
| EventDispatcher::AcceleratorMatchPhase::ANY);
|
|
|
| @@ -672,7 +690,8 @@ TEST_F(EventDispatcherTest, ClientAreaGoesToOwner) {
|
| // Release the mouse.
|
| const ui::PointerEvent release_event(ui::MouseEvent(
|
| ui::ET_MOUSE_RELEASED, gfx::Point(17, 18), gfx::Point(17, 18),
|
| - base::TimeTicks(), ui::EF_LEFT_MOUSE_BUTTON, ui::EF_LEFT_MOUSE_BUTTON));
|
| + base::TimeTicks(), ui::EF_LEFT_MOUSE_BUTTON, ui::EF_LEFT_MOUSE_BUTTON,
|
| + ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_MOUSE)));
|
| dispatcher->ProcessEvent(release_event,
|
| EventDispatcher::AcceleratorMatchPhase::ANY);
|
|
|
| @@ -686,7 +705,8 @@ TEST_F(EventDispatcherTest, ClientAreaGoesToOwner) {
|
| // should get an exit first.
|
| const ui::PointerEvent press_event2(ui::MouseEvent(
|
| ui::ET_MOUSE_PRESSED, gfx::Point(21, 22), gfx::Point(21, 22),
|
| - base::TimeTicks(), ui::EF_LEFT_MOUSE_BUTTON, ui::EF_LEFT_MOUSE_BUTTON));
|
| + base::TimeTicks(), ui::EF_LEFT_MOUSE_BUTTON, ui::EF_LEFT_MOUSE_BUTTON,
|
| + ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_MOUSE)));
|
| dispatcher->ProcessEvent(press_event2,
|
| EventDispatcher::AcceleratorMatchPhase::ANY);
|
| details = event_dispatcher_delegate->GetAndAdvanceDispatchedEventDetails();
|
| @@ -717,7 +737,8 @@ TEST_F(EventDispatcherTest, AdditionalClientArea) {
|
| // Press in the additional client area, it should go to the child.
|
| const ui::PointerEvent press_event(ui::MouseEvent(
|
| ui::ET_MOUSE_PRESSED, gfx::Point(28, 11), gfx::Point(28, 11),
|
| - base::TimeTicks(), ui::EF_LEFT_MOUSE_BUTTON, ui::EF_LEFT_MOUSE_BUTTON));
|
| + base::TimeTicks(), ui::EF_LEFT_MOUSE_BUTTON, ui::EF_LEFT_MOUSE_BUTTON,
|
| + ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_MOUSE)));
|
| event_dispatcher()->ProcessEvent(press_event,
|
| EventDispatcher::AcceleratorMatchPhase::ANY);
|
|
|
| @@ -739,7 +760,8 @@ TEST_F(EventDispatcherTest, HitTestMask) {
|
| // Move in the masked area.
|
| const ui::PointerEvent move1(ui::MouseEvent(
|
| ui::ET_MOUSE_MOVED, gfx::Point(11, 11), gfx::Point(11, 11),
|
| - base::TimeTicks(), ui::EF_LEFT_MOUSE_BUTTON, 0));
|
| + base::TimeTicks(), ui::EF_LEFT_MOUSE_BUTTON, 0,
|
| + ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_MOUSE)));
|
| event_dispatcher()->ProcessEvent(move1,
|
| EventDispatcher::AcceleratorMatchPhase::ANY);
|
|
|
| @@ -754,7 +776,8 @@ TEST_F(EventDispatcherTest, HitTestMask) {
|
| // Move right in the same part of the window.
|
| const ui::PointerEvent move2(ui::MouseEvent(
|
| ui::ET_MOUSE_MOVED, gfx::Point(11, 12), gfx::Point(11, 12),
|
| - base::TimeTicks(), ui::EF_LEFT_MOUSE_BUTTON, 0));
|
| + base::TimeTicks(), ui::EF_LEFT_MOUSE_BUTTON, 0,
|
| + ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_MOUSE)));
|
| event_dispatcher()->ProcessEvent(move2,
|
| EventDispatcher::AcceleratorMatchPhase::ANY);
|
|
|
| @@ -785,7 +808,8 @@ TEST_F(EventDispatcherTest, DontFocusOnSecondDown) {
|
| // Press on child1. First press event should change focus.
|
| const ui::PointerEvent press_event(ui::MouseEvent(
|
| ui::ET_MOUSE_PRESSED, gfx::Point(12, 12), gfx::Point(12, 12),
|
| - base::TimeTicks(), ui::EF_LEFT_MOUSE_BUTTON, ui::EF_LEFT_MOUSE_BUTTON));
|
| + base::TimeTicks(), ui::EF_LEFT_MOUSE_BUTTON, ui::EF_LEFT_MOUSE_BUTTON,
|
| + ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_MOUSE)));
|
| dispatcher->ProcessEvent(press_event,
|
| EventDispatcher::AcceleratorMatchPhase::ANY);
|
| std::unique_ptr<DispatchedEventDetails> details =
|
| @@ -927,7 +951,8 @@ TEST_F(EventDispatcherTest, MouseInExtendedHitTestRegion) {
|
| // Send event that is not over child.
|
| const ui::PointerEvent ui_event(ui::MouseEvent(
|
| ui::ET_MOUSE_PRESSED, gfx::Point(8, 9), gfx::Point(8, 9),
|
| - base::TimeTicks(), ui::EF_LEFT_MOUSE_BUTTON, ui::EF_LEFT_MOUSE_BUTTON));
|
| + base::TimeTicks(), ui::EF_LEFT_MOUSE_BUTTON, ui::EF_LEFT_MOUSE_BUTTON,
|
| + ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_MOUSE)));
|
| dispatcher->ProcessEvent(ui_event,
|
| EventDispatcher::AcceleratorMatchPhase::ANY);
|
| std::unique_ptr<DispatchedEventDetails> details =
|
| @@ -937,7 +962,8 @@ TEST_F(EventDispatcherTest, MouseInExtendedHitTestRegion) {
|
| // Release the mouse.
|
| const ui::PointerEvent release_event(ui::MouseEvent(
|
| ui::ET_MOUSE_RELEASED, gfx::Point(8, 9), gfx::Point(8, 9),
|
| - base::TimeTicks(), ui::EF_LEFT_MOUSE_BUTTON, ui::EF_LEFT_MOUSE_BUTTON));
|
| + base::TimeTicks(), ui::EF_LEFT_MOUSE_BUTTON, ui::EF_LEFT_MOUSE_BUTTON,
|
| + ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_MOUSE)));
|
| dispatcher->ProcessEvent(release_event,
|
| EventDispatcher::AcceleratorMatchPhase::ANY);
|
| details = event_dispatcher_delegate->GetAndAdvanceDispatchedEventDetails();
|
| @@ -975,9 +1001,11 @@ TEST_F(EventDispatcherTest, WheelWhileDown) {
|
|
|
| MouseEventTest tests[] = {
|
| // Send a mouse down event over child1.
|
| - {ui::MouseEvent(ui::ET_MOUSE_PRESSED, gfx::Point(15, 15),
|
| - gfx::Point(15, 15), base::TimeTicks(),
|
| - ui::EF_LEFT_MOUSE_BUTTON, ui::EF_LEFT_MOUSE_BUTTON),
|
| + {ui::MouseEvent(
|
| + ui::ET_MOUSE_PRESSED, gfx::Point(15, 15), gfx::Point(15, 15),
|
| + base::TimeTicks(), ui::EF_LEFT_MOUSE_BUTTON,
|
| + ui::EF_LEFT_MOUSE_BUTTON,
|
| + ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_MOUSE)),
|
| child1.get(), gfx::Point(15, 15), gfx::Point(5, 5), nullptr,
|
| gfx::Point(), gfx::Point()},
|
| // Send mouse wheel over child2, should go to child1 as it has capture.
|
| @@ -1013,7 +1041,8 @@ TEST_F(EventDispatcherTest, SetExplicitCapture) {
|
| // bounds.
|
| const ui::PointerEvent left_press_event(ui::MouseEvent(
|
| ui::ET_MOUSE_PRESSED, gfx::Point(5, 5), gfx::Point(5, 5),
|
| - base::TimeTicks(), ui::EF_LEFT_MOUSE_BUTTON, ui::EF_LEFT_MOUSE_BUTTON));
|
| + base::TimeTicks(), ui::EF_LEFT_MOUSE_BUTTON, ui::EF_LEFT_MOUSE_BUTTON,
|
| + ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_MOUSE)));
|
| dispatcher->ProcessEvent(left_press_event,
|
| EventDispatcher::AcceleratorMatchPhase::ANY);
|
|
|
| @@ -1030,7 +1059,8 @@ TEST_F(EventDispatcherTest, SetExplicitCapture) {
|
| const ui::PointerEvent right_press_event(ui::MouseEvent(
|
| ui::ET_MOUSE_PRESSED, gfx::Point(5, 5), gfx::Point(5, 5),
|
| base::TimeTicks(), ui::EF_LEFT_MOUSE_BUTTON | ui::EF_RIGHT_MOUSE_BUTTON,
|
| - ui::EF_RIGHT_MOUSE_BUTTON));
|
| + ui::EF_RIGHT_MOUSE_BUTTON,
|
| + ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_MOUSE)));
|
| dispatcher->ProcessEvent(right_press_event,
|
| EventDispatcher::AcceleratorMatchPhase::ANY);
|
| details = event_dispatcher_delegate->GetAndAdvanceDispatchedEventDetails();
|
| @@ -1040,7 +1070,8 @@ TEST_F(EventDispatcherTest, SetExplicitCapture) {
|
| const ui::PointerEvent left_release_event(ui::MouseEvent(
|
| ui::ET_MOUSE_RELEASED, gfx::Point(5, 5), gfx::Point(5, 5),
|
| base::TimeTicks(), ui::EF_LEFT_MOUSE_BUTTON | ui::EF_RIGHT_MOUSE_BUTTON,
|
| - ui::EF_LEFT_MOUSE_BUTTON));
|
| + ui::EF_LEFT_MOUSE_BUTTON,
|
| + ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_MOUSE)));
|
| dispatcher->ProcessEvent(left_release_event,
|
| EventDispatcher::AcceleratorMatchPhase::ANY);
|
| details = event_dispatcher_delegate->GetAndAdvanceDispatchedEventDetails();
|
| @@ -1056,20 +1087,20 @@ TEST_F(EventDispatcherTest, SetExplicitCapture) {
|
| EXPECT_TRUE(IsMouseButtonDown());
|
|
|
| // Move event should not affect down
|
| - const ui::PointerEvent move_event(
|
| - ui::MouseEvent(ui::ET_MOUSE_MOVED, gfx::Point(15, 5), gfx::Point(15, 5),
|
| - base::TimeTicks(), ui::EF_RIGHT_MOUSE_BUTTON,
|
| - ui::EF_RIGHT_MOUSE_BUTTON));
|
| + const ui::PointerEvent move_event(ui::MouseEvent(
|
| + ui::ET_MOUSE_MOVED, gfx::Point(15, 5), gfx::Point(15, 5),
|
| + base::TimeTicks(), ui::EF_RIGHT_MOUSE_BUTTON, ui::EF_RIGHT_MOUSE_BUTTON,
|
| + ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_MOUSE)));
|
| dispatcher->ProcessEvent(move_event,
|
| EventDispatcher::AcceleratorMatchPhase::ANY);
|
| details = event_dispatcher_delegate->GetAndAdvanceDispatchedEventDetails();
|
| EXPECT_TRUE(IsMouseButtonDown());
|
|
|
| // All mouse buttons up should clear mouse down.
|
| - const ui::PointerEvent right_release_event(
|
| - ui::MouseEvent(ui::ET_MOUSE_RELEASED, gfx::Point(5, 5),
|
| - gfx::Point(5, 5), base::TimeTicks(),
|
| - ui::EF_RIGHT_MOUSE_BUTTON, ui::EF_RIGHT_MOUSE_BUTTON));
|
| + const ui::PointerEvent right_release_event(ui::MouseEvent(
|
| + ui::ET_MOUSE_RELEASED, gfx::Point(5, 5), gfx::Point(5, 5),
|
| + base::TimeTicks(), ui::EF_RIGHT_MOUSE_BUTTON, ui::EF_RIGHT_MOUSE_BUTTON,
|
| + ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_MOUSE)));
|
| dispatcher->ProcessEvent(right_release_event,
|
| EventDispatcher::AcceleratorMatchPhase::ANY);
|
| details = event_dispatcher_delegate->GetAndAdvanceDispatchedEventDetails();
|
| @@ -1081,7 +1112,8 @@ TEST_F(EventDispatcherTest, SetExplicitCapture) {
|
| dispatcher->SetCaptureWindow(nullptr, kClientAreaId);
|
| const ui::PointerEvent press_event(ui::MouseEvent(
|
| ui::ET_MOUSE_PRESSED, gfx::Point(5, 5), gfx::Point(5, 5),
|
| - base::TimeTicks(), ui::EF_LEFT_MOUSE_BUTTON, ui::EF_LEFT_MOUSE_BUTTON));
|
| + base::TimeTicks(), ui::EF_LEFT_MOUSE_BUTTON, ui::EF_LEFT_MOUSE_BUTTON,
|
| + ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_MOUSE)));
|
| dispatcher->ProcessEvent(press_event,
|
| EventDispatcher::AcceleratorMatchPhase::ANY);
|
|
|
| @@ -1110,27 +1142,34 @@ TEST_F(EventDispatcherTest, ExplicitCaptureOverridesImplicitCapture) {
|
| // Run some implicit capture tests.
|
| MouseEventTest tests[] = {
|
| // Send a mouse down event over child with a left mouse button
|
| - {ui::MouseEvent(ui::ET_MOUSE_PRESSED, gfx::Point(20, 25),
|
| - gfx::Point(20, 25), base::TimeTicks(),
|
| - ui::EF_LEFT_MOUSE_BUTTON, ui::EF_LEFT_MOUSE_BUTTON),
|
| + {ui::MouseEvent(
|
| + ui::ET_MOUSE_PRESSED, gfx::Point(20, 25), gfx::Point(20, 25),
|
| + base::TimeTicks(), ui::EF_LEFT_MOUSE_BUTTON,
|
| + ui::EF_LEFT_MOUSE_BUTTON,
|
| + ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_MOUSE)),
|
| child.get(), gfx::Point(20, 25), gfx::Point(10, 15)},
|
| // Capture should be activated. Let's send a mouse move outside the bounds
|
| // of the child and press the right mouse button too.
|
| - {ui::MouseEvent(ui::ET_MOUSE_MOVED, gfx::Point(50, 50),
|
| - gfx::Point(50, 50), base::TimeTicks(),
|
| - ui::EF_LEFT_MOUSE_BUTTON | ui::EF_RIGHT_MOUSE_BUTTON, 0),
|
| + {ui::MouseEvent(
|
| + ui::ET_MOUSE_MOVED, gfx::Point(50, 50), gfx::Point(50, 50),
|
| + base::TimeTicks(),
|
| + ui::EF_LEFT_MOUSE_BUTTON | ui::EF_RIGHT_MOUSE_BUTTON, 0,
|
| + ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_MOUSE)),
|
| child.get(), gfx::Point(50, 50), gfx::Point(40, 40)},
|
| // Release the left mouse button and verify that the mouse up event goes
|
| // to the child.
|
| - {ui::MouseEvent(ui::ET_MOUSE_RELEASED, gfx::Point(50, 50),
|
| - gfx::Point(50, 50), base::TimeTicks(),
|
| - ui::EF_LEFT_MOUSE_BUTTON | ui::EF_RIGHT_MOUSE_BUTTON,
|
| - ui::EF_RIGHT_MOUSE_BUTTON),
|
| + {ui::MouseEvent(
|
| + ui::ET_MOUSE_RELEASED, gfx::Point(50, 50), gfx::Point(50, 50),
|
| + base::TimeTicks(),
|
| + ui::EF_LEFT_MOUSE_BUTTON | ui::EF_RIGHT_MOUSE_BUTTON,
|
| + ui::EF_RIGHT_MOUSE_BUTTON,
|
| + ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_MOUSE)),
|
| child.get(), gfx::Point(50, 50), gfx::Point(40, 40)},
|
| // A mouse move at (50, 50) should still go to the child.
|
| - {ui::MouseEvent(ui::ET_MOUSE_MOVED, gfx::Point(50, 50),
|
| - gfx::Point(50, 50), base::TimeTicks(),
|
| - ui::EF_LEFT_MOUSE_BUTTON, 0),
|
| + {ui::MouseEvent(
|
| + ui::ET_MOUSE_MOVED, gfx::Point(50, 50), gfx::Point(50, 50),
|
| + base::TimeTicks(), ui::EF_LEFT_MOUSE_BUTTON, 0,
|
| + ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_MOUSE)),
|
| child.get(), gfx::Point(50, 50), gfx::Point(40, 40)},
|
|
|
| };
|
| @@ -1174,7 +1213,8 @@ TEST_F(EventDispatcherTest, ExplicitCaptureOverridesImplicitCapture) {
|
|
|
| const ui::PointerEvent press_event(ui::MouseEvent(
|
| ui::ET_MOUSE_PRESSED, gfx::Point(15, 15), gfx::Point(15, 15),
|
| - base::TimeTicks(), ui::EF_LEFT_MOUSE_BUTTON, ui::EF_LEFT_MOUSE_BUTTON));
|
| + base::TimeTicks(), ui::EF_LEFT_MOUSE_BUTTON, ui::EF_LEFT_MOUSE_BUTTON,
|
| + ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_MOUSE)));
|
| dispatcher->ProcessEvent(press_event,
|
| EventDispatcher::AcceleratorMatchPhase::ANY);
|
|
|
| @@ -1195,7 +1235,8 @@ TEST_F(EventDispatcherTest, CaptureUpdatesActivePointerTargets) {
|
| {
|
| const ui::PointerEvent press_event(ui::MouseEvent(
|
| ui::ET_MOUSE_PRESSED, gfx::Point(5, 5), gfx::Point(5, 5),
|
| - base::TimeTicks(), ui::EF_LEFT_MOUSE_BUTTON, ui::EF_LEFT_MOUSE_BUTTON));
|
| + base::TimeTicks(), ui::EF_LEFT_MOUSE_BUTTON, ui::EF_LEFT_MOUSE_BUTTON,
|
| + ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_MOUSE)));
|
| dispatcher->ProcessEvent(press_event,
|
| EventDispatcher::AcceleratorMatchPhase::ANY);
|
|
|
| @@ -1278,7 +1319,8 @@ TEST_F(EventDispatcherTest, CaptureInNonClientAreaOverridesActualPoint) {
|
| // Press in the client area, it should be marked as non client.
|
| const ui::PointerEvent press_event(ui::MouseEvent(
|
| ui::ET_MOUSE_PRESSED, gfx::Point(6, 6), gfx::Point(6, 6),
|
| - base::TimeTicks(), ui::EF_LEFT_MOUSE_BUTTON, ui::EF_LEFT_MOUSE_BUTTON));
|
| + base::TimeTicks(), ui::EF_LEFT_MOUSE_BUTTON, ui::EF_LEFT_MOUSE_BUTTON,
|
| + ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_MOUSE)));
|
| event_dispatcher()->ProcessEvent(press_event,
|
| EventDispatcher::AcceleratorMatchPhase::ANY);
|
|
|
| @@ -1299,7 +1341,8 @@ TEST_F(EventDispatcherTest, ProcessPointerEvents) {
|
| {
|
| const ui::PointerEvent pointer_event(ui::MouseEvent(
|
| ui::ET_MOUSE_PRESSED, gfx::Point(20, 25), gfx::Point(20, 25),
|
| - base::TimeTicks(), ui::EF_LEFT_MOUSE_BUTTON, ui::EF_LEFT_MOUSE_BUTTON));
|
| + base::TimeTicks(), ui::EF_LEFT_MOUSE_BUTTON, ui::EF_LEFT_MOUSE_BUTTON,
|
| + ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_MOUSE)));
|
| event_dispatcher()->ProcessEvent(
|
| pointer_event, EventDispatcher::AcceleratorMatchPhase::ANY);
|
|
|
| @@ -1349,7 +1392,8 @@ TEST_F(EventDispatcherTest, ResetClearsPointerDown) {
|
| // Send event that is over child.
|
| const ui::PointerEvent ui_event(ui::MouseEvent(
|
| ui::ET_MOUSE_PRESSED, gfx::Point(20, 25), gfx::Point(20, 25),
|
| - base::TimeTicks(), ui::EF_LEFT_MOUSE_BUTTON, ui::EF_LEFT_MOUSE_BUTTON));
|
| + base::TimeTicks(), ui::EF_LEFT_MOUSE_BUTTON, ui::EF_LEFT_MOUSE_BUTTON,
|
| + ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_MOUSE)));
|
| event_dispatcher()->ProcessEvent(ui_event,
|
| EventDispatcher::AcceleratorMatchPhase::ANY);
|
|
|
| @@ -1393,7 +1437,8 @@ TEST_F(EventDispatcherTest, ModalWindowEventOnModalParent) {
|
| // Send event that is over |w1|.
|
| const ui::PointerEvent mouse_pressed(ui::MouseEvent(
|
| ui::ET_MOUSE_PRESSED, gfx::Point(15, 15), gfx::Point(15, 15),
|
| - base::TimeTicks(), ui::EF_LEFT_MOUSE_BUTTON, ui::EF_LEFT_MOUSE_BUTTON));
|
| + base::TimeTicks(), ui::EF_LEFT_MOUSE_BUTTON, ui::EF_LEFT_MOUSE_BUTTON,
|
| + ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_MOUSE)));
|
| event_dispatcher()->ProcessEvent(mouse_pressed,
|
| EventDispatcher::AcceleratorMatchPhase::ANY);
|
|
|
| @@ -1426,7 +1471,8 @@ TEST_F(EventDispatcherTest, ModalWindowEventOnModalChild) {
|
| // Send event that is over |w2|.
|
| const ui::PointerEvent mouse_pressed(ui::MouseEvent(
|
| ui::ET_MOUSE_PRESSED, gfx::Point(55, 15), gfx::Point(55, 15),
|
| - base::TimeTicks(), ui::EF_LEFT_MOUSE_BUTTON, ui::EF_LEFT_MOUSE_BUTTON));
|
| + base::TimeTicks(), ui::EF_LEFT_MOUSE_BUTTON, ui::EF_LEFT_MOUSE_BUTTON,
|
| + ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_MOUSE)));
|
| event_dispatcher()->ProcessEvent(mouse_pressed,
|
| EventDispatcher::AcceleratorMatchPhase::ANY);
|
|
|
| @@ -1462,7 +1508,8 @@ TEST_F(EventDispatcherTest, ModalWindowEventOnUnrelatedWindow) {
|
| // Send event that is over |w3|.
|
| const ui::PointerEvent mouse_pressed(ui::MouseEvent(
|
| ui::ET_MOUSE_PRESSED, gfx::Point(75, 15), gfx::Point(75, 15),
|
| - base::TimeTicks(), ui::EF_LEFT_MOUSE_BUTTON, ui::EF_LEFT_MOUSE_BUTTON));
|
| + base::TimeTicks(), ui::EF_LEFT_MOUSE_BUTTON, ui::EF_LEFT_MOUSE_BUTTON,
|
| + ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_MOUSE)));
|
| event_dispatcher()->ProcessEvent(mouse_pressed,
|
| EventDispatcher::AcceleratorMatchPhase::ANY);
|
|
|
| @@ -1499,7 +1546,8 @@ TEST_F(EventDispatcherTest, ModalWindowEventOnDescendantOfModalParent) {
|
| // Send event that is over |w11|.
|
| const ui::PointerEvent mouse_pressed(ui::MouseEvent(
|
| ui::ET_MOUSE_PRESSED, gfx::Point(25, 25), gfx::Point(25, 25),
|
| - base::TimeTicks(), ui::EF_LEFT_MOUSE_BUTTON, ui::EF_LEFT_MOUSE_BUTTON));
|
| + base::TimeTicks(), ui::EF_LEFT_MOUSE_BUTTON, ui::EF_LEFT_MOUSE_BUTTON,
|
| + ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_MOUSE)));
|
| event_dispatcher()->ProcessEvent(mouse_pressed,
|
| EventDispatcher::AcceleratorMatchPhase::ANY);
|
|
|
| @@ -1528,7 +1576,8 @@ TEST_F(EventDispatcherTest, ModalWindowEventOnSystemModal) {
|
| // Send event that is over |w1|.
|
| const ui::PointerEvent mouse_pressed(ui::MouseEvent(
|
| ui::ET_MOUSE_PRESSED, gfx::Point(15, 15), gfx::Point(15, 15),
|
| - base::TimeTicks(), ui::EF_LEFT_MOUSE_BUTTON, ui::EF_LEFT_MOUSE_BUTTON));
|
| + base::TimeTicks(), ui::EF_LEFT_MOUSE_BUTTON, ui::EF_LEFT_MOUSE_BUTTON,
|
| + ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_MOUSE)));
|
| event_dispatcher()->ProcessEvent(mouse_pressed,
|
| EventDispatcher::AcceleratorMatchPhase::ANY);
|
|
|
| @@ -1558,7 +1607,8 @@ TEST_F(EventDispatcherTest, ModalWindowEventOutsideSystemModal) {
|
| // Send event that is over |w1|.
|
| const ui::PointerEvent mouse_pressed(ui::MouseEvent(
|
| ui::ET_MOUSE_PRESSED, gfx::Point(45, 15), gfx::Point(45, 15),
|
| - base::TimeTicks(), ui::EF_LEFT_MOUSE_BUTTON, ui::EF_LEFT_MOUSE_BUTTON));
|
| + base::TimeTicks(), ui::EF_LEFT_MOUSE_BUTTON, ui::EF_LEFT_MOUSE_BUTTON,
|
| + ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_MOUSE)));
|
| event_dispatcher()->ProcessEvent(mouse_pressed,
|
| EventDispatcher::AcceleratorMatchPhase::ANY);
|
|
|
| @@ -1736,7 +1786,8 @@ TEST_F(EventDispatcherTest, CaptureNotResetOnParentChange) {
|
| // Send event that is over |w11|.
|
| const ui::PointerEvent mouse_pressed(ui::MouseEvent(
|
| ui::ET_MOUSE_PRESSED, gfx::Point(15, 15), gfx::Point(15, 15),
|
| - base::TimeTicks(), ui::EF_LEFT_MOUSE_BUTTON, ui::EF_LEFT_MOUSE_BUTTON));
|
| + base::TimeTicks(), ui::EF_LEFT_MOUSE_BUTTON, ui::EF_LEFT_MOUSE_BUTTON,
|
| + ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_MOUSE)));
|
| event_dispatcher()->ProcessEvent(mouse_pressed,
|
| EventDispatcher::AcceleratorMatchPhase::ANY);
|
| event_dispatcher()->SetCaptureWindow(w11.get(), kClientAreaId);
|
| @@ -1782,14 +1833,18 @@ TEST_F(EventDispatcherTest, MoveMouseFromNoTargetToValidTarget) {
|
| MouseEventTest tests[] = {
|
| // Send a mouse down over the root, but not the child. No event should
|
| // be generated.
|
| - {ui::MouseEvent(ui::ET_MOUSE_MOVED, gfx::Point(5, 5), gfx::Point(5, 5),
|
| - base::TimeTicks(), 0, 0),
|
| + {ui::MouseEvent(
|
| + ui::ET_MOUSE_MOVED, gfx::Point(5, 5), gfx::Point(5, 5),
|
| + base::TimeTicks(), 0, 0,
|
| + ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_MOUSE)),
|
| nullptr, gfx::Point(), gfx::Point(), nullptr, gfx::Point(),
|
| gfx::Point()},
|
|
|
| // Move into child.
|
| - {ui::MouseEvent(ui::ET_MOUSE_MOVED, gfx::Point(12, 12),
|
| - gfx::Point(12, 12), base::TimeTicks(), 0, 0),
|
| + {ui::MouseEvent(
|
| + ui::ET_MOUSE_MOVED, gfx::Point(12, 12), gfx::Point(12, 12),
|
| + base::TimeTicks(), 0, 0,
|
| + ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_MOUSE)),
|
| child.get(), gfx::Point(12, 12), gfx::Point(2, 2), nullptr, gfx::Point(),
|
| gfx::Point()}};
|
| RunMouseEventTests(event_dispatcher(), test_event_dispatcher_delegate(),
|
| @@ -1807,22 +1862,27 @@ TEST_F(EventDispatcherTest, NoTargetToTargetWithMouseDown) {
|
|
|
| MouseEventTest tests[] = {
|
| // Mouse over the root, but not the child. No event should be generated.
|
| - {ui::MouseEvent(ui::ET_MOUSE_MOVED, gfx::Point(5, 5), gfx::Point(5, 5),
|
| - base::TimeTicks(), 0, 0),
|
| + {ui::MouseEvent(
|
| + ui::ET_MOUSE_MOVED, gfx::Point(5, 5), gfx::Point(5, 5),
|
| + base::TimeTicks(), 0, 0,
|
| + ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_MOUSE)),
|
| nullptr, gfx::Point(), gfx::Point(), nullptr, gfx::Point(),
|
| gfx::Point()},
|
|
|
| // Press in same location, still no target.
|
| - {ui::MouseEvent(ui::ET_MOUSE_PRESSED, gfx::Point(5, 5), gfx::Point(5, 5),
|
| - base::TimeTicks(), ui::EF_LEFT_MOUSE_BUTTON,
|
| - ui::EF_LEFT_MOUSE_BUTTON),
|
| + {ui::MouseEvent(
|
| + ui::ET_MOUSE_PRESSED, gfx::Point(5, 5), gfx::Point(5, 5),
|
| + base::TimeTicks(), ui::EF_LEFT_MOUSE_BUTTON,
|
| + ui::EF_LEFT_MOUSE_BUTTON,
|
| + ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_MOUSE)),
|
| nullptr, gfx::Point(), gfx::Point(), nullptr, gfx::Point(),
|
| gfx::Point()},
|
|
|
| // Move into child, still no target.
|
| - {ui::MouseEvent(ui::ET_MOUSE_MOVED, gfx::Point(12, 12),
|
| - gfx::Point(12, 12), base::TimeTicks(),
|
| - ui::EF_LEFT_MOUSE_BUTTON, 0),
|
| + {ui::MouseEvent(
|
| + ui::ET_MOUSE_MOVED, gfx::Point(12, 12), gfx::Point(12, 12),
|
| + base::TimeTicks(), ui::EF_LEFT_MOUSE_BUTTON, 0,
|
| + ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_MOUSE)),
|
| nullptr, gfx::Point(), gfx::Point(), nullptr, gfx::Point(),
|
| gfx::Point()}};
|
| RunMouseEventTests(event_dispatcher(), test_event_dispatcher_delegate(),
|
| @@ -1842,15 +1902,19 @@ TEST_F(EventDispatcherTest, DontSendExitToSameClientWhenCaptureChanges) {
|
|
|
| MouseEventTest tests[] = {
|
| // Mouse over |c2|.
|
| - {ui::MouseEvent(ui::ET_MOUSE_MOVED, gfx::Point(16, 16),
|
| - gfx::Point(16, 16), base::TimeTicks(), 0, 0),
|
| + {ui::MouseEvent(
|
| + ui::ET_MOUSE_MOVED, gfx::Point(16, 16), gfx::Point(16, 16),
|
| + base::TimeTicks(), 0, 0,
|
| + ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_MOUSE)),
|
| c2.get(), gfx::Point(16, 16), gfx::Point(1, 1), nullptr, gfx::Point(),
|
| gfx::Point()},
|
|
|
| // Press in same location.
|
| - {ui::MouseEvent(ui::ET_MOUSE_PRESSED, gfx::Point(16, 16),
|
| - gfx::Point(16, 16), base::TimeTicks(),
|
| - ui::EF_LEFT_MOUSE_BUTTON, ui::EF_LEFT_MOUSE_BUTTON),
|
| + {ui::MouseEvent(
|
| + ui::ET_MOUSE_PRESSED, gfx::Point(16, 16), gfx::Point(16, 16),
|
| + base::TimeTicks(), ui::EF_LEFT_MOUSE_BUTTON,
|
| + ui::EF_LEFT_MOUSE_BUTTON,
|
| + ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_MOUSE)),
|
| c2.get(), gfx::Point(16, 16), gfx::Point(1, 1), nullptr, gfx::Point(),
|
| gfx::Point()}};
|
| RunMouseEventTests(event_dispatcher(), test_event_dispatcher_delegate(),
|
|
|