Title: [246445] trunk
Revision
246445
Author
[email protected]
Date
2019-06-14 14:17:02 -0700 (Fri, 14 Jun 2019)

Log Message

[Pointer Events] button property is -1 for pointerdown and pointerup
https://bugs.webkit.org/show_bug.cgi?id=198868
<rdar://problem/51758109>

Reviewed by Dean Jackson.

Source/WebCore:

A value of -1 for "button", which means there was no change of pressed button since the last event, should only ever be used for "pointermove" events.

Test: pointerevents/mouse/pointer-button-and-buttons.html

* page/PointerCaptureController.cpp:
(WebCore::PointerCaptureController::pointerEventForMouseEvent):

LayoutTests:

* pointerevents/mouse/pointer-button-and-buttons-expected.txt: Added.
* pointerevents/mouse/pointer-button-and-buttons.html: Added.
* pointerevents/utils.js:
(prototype._handlePointerEvent):

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (246444 => 246445)


--- trunk/LayoutTests/ChangeLog	2019-06-14 21:00:13 UTC (rev 246444)
+++ trunk/LayoutTests/ChangeLog	2019-06-14 21:17:02 UTC (rev 246445)
@@ -1,3 +1,16 @@
+2019-06-14  Antoine Quint  <[email protected]>
+
+        [Pointer Events] button property is -1 for pointerdown and pointerup
+        https://bugs.webkit.org/show_bug.cgi?id=198868
+        <rdar://problem/51758109>
+
+        Reviewed by Dean Jackson.
+
+        * pointerevents/mouse/pointer-button-and-buttons-expected.txt: Added.
+        * pointerevents/mouse/pointer-button-and-buttons.html: Added.
+        * pointerevents/utils.js:
+        (prototype._handlePointerEvent):
+
 2019-06-14  John Wilander  <[email protected]>
 
         Move http/tests/resourceLoadStatistics/remove-blocking-in-redirect.html off of testRunner.setAlwaysAcceptCookies()

Added: trunk/LayoutTests/pointerevents/mouse/pointer-button-and-buttons-expected.txt (0 => 246445)


--- trunk/LayoutTests/pointerevents/mouse/pointer-button-and-buttons-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/pointerevents/mouse/pointer-button-and-buttons-expected.txt	2019-06-14 21:17:02 UTC (rev 246445)
@@ -0,0 +1,3 @@
+
+PASS Testing that the "button" and "buttons" properties report the expected values. 
+

Added: trunk/LayoutTests/pointerevents/mouse/pointer-button-and-buttons.html (0 => 246445)


--- trunk/LayoutTests/pointerevents/mouse/pointer-button-and-buttons.html	                        (rev 0)
+++ trunk/LayoutTests/pointerevents/mouse/pointer-button-and-buttons.html	2019-06-14 21:17:02 UTC (rev 246445)
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset=utf-8>
+</head>
+<body>
+<script src=""
+<script src=""
+<script src=""
+<script>
+
+'use strict';
+
+target_test((target, test) => {
+    const eventTracker = new EventTracker(target, ["pointerdown", "pointerup"]);
+
+    // Click without a move.
+    eventSender.mouseMoveTo(50, 50);
+    eventSender.mouseDown();
+    eventSender.mouseUp();
+
+    eventTracker.assertMatchesEvents([
+        { type : "pointerdown", x: 50, y: 50, button: 0, buttons: 1 },
+        { type : "pointerup", x: 50, y: 50, button: 0, buttons: 0 },
+    ]);
+    test.done();
+}, `Testing that the "button" and "buttons" properties report the expected values.`);
+
+</script>
+</body>
+</html>
\ No newline at end of file

Modified: trunk/LayoutTests/pointerevents/utils.js (246444 => 246445)


--- trunk/LayoutTests/pointerevents/utils.js	2019-06-14 21:00:13 UTC (rev 246444)
+++ trunk/LayoutTests/pointerevents/utils.js	2019-06-14 21:17:02 UTC (rev 246445)
@@ -69,7 +69,9 @@
             y: event.clientY,
             pressure: event.pressure,
             isPrimary: event.isPrimary,
-            isTrusted: event.isTrusted
+            isTrusted: event.isTrusted,
+            button: event.button,
+            buttons: event.buttons
         });
     }
 

Modified: trunk/Source/WebCore/ChangeLog (246444 => 246445)


--- trunk/Source/WebCore/ChangeLog	2019-06-14 21:00:13 UTC (rev 246444)
+++ trunk/Source/WebCore/ChangeLog	2019-06-14 21:17:02 UTC (rev 246445)
@@ -1,3 +1,18 @@
+2019-06-14  Antoine Quint  <[email protected]>
+
+        [Pointer Events] button property is -1 for pointerdown and pointerup
+        https://bugs.webkit.org/show_bug.cgi?id=198868
+        <rdar://problem/51758109>
+
+        Reviewed by Dean Jackson.
+
+        A value of -1 for "button", which means there was no change of pressed button since the last event, should only ever be used for "pointermove" events.
+
+        Test: pointerevents/mouse/pointer-button-and-buttons.html
+
+        * page/PointerCaptureController.cpp:
+        (WebCore::PointerCaptureController::pointerEventForMouseEvent):
+
 2019-06-14  Megan Gardner  <[email protected]>
 
         Move Synthetic Editing Commands to behind an experimental feature flag

Modified: trunk/Source/WebCore/page/PointerCaptureController.cpp (246444 => 246445)


--- trunk/Source/WebCore/page/PointerCaptureController.cpp	2019-06-14 21:00:13 UTC (rev 246444)
+++ trunk/Source/WebCore/page/PointerCaptureController.cpp	2019-06-14 21:17:02 UTC (rev 246445)
@@ -241,7 +241,7 @@
     auto& capturingData = iterator->value;
 
     short newButton = mouseEvent.button();
-    short button = newButton == capturingData.previousMouseButton ? -1 : newButton;
+    short button = (type == names.mousemoveEvent && newButton == capturingData.previousMouseButton) ? -1 : newButton;
 
     // https://w3c.github.io/pointerevents/#chorded-button-interactions
     // Some pointer devices, such as mouse or pen, support multiple buttons. In the Mouse Event model, each button
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to