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

Unified Diff: services/ui/ws/event_dispatcher_unittest.cc

Issue 2786693002: Add PointerDetails to ui::MouseEvent's constructors (Closed)
Patch Set: mouse event constructor Created 3 years, 9 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 side-by-side diff with in-line comments
Download patch
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(),

Powered by Google App Engine
This is Rietveld 408576698