- 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