Index: third_party/WebKit/LayoutTests/fast/events/pointerevents/mouse-pointer-event-properties.html |
diff --git a/third_party/WebKit/LayoutTests/fast/events/pointerevents/mouse-pointer-event-properties.html b/third_party/WebKit/LayoutTests/fast/events/pointerevents/mouse-pointer-event-properties.html |
index 31d4e3c73a6bc60baf368418011578dee248c5c7..dda1ac0c9cc8dd62c5f36dac8dc59d1673105407 100644 |
--- a/third_party/WebKit/LayoutTests/fast/events/pointerevents/mouse-pointer-event-properties.html |
+++ b/third_party/WebKit/LayoutTests/fast/events/pointerevents/mouse-pointer-event-properties.html |
@@ -16,14 +16,20 @@ div.box { |
<script> |
window.name = "mainWindow"; |
-description("Verifies that pointer event parameters are correct when fired for mouse events."); |
+description("Verifies that pointer event parameters are correct when fired through mouse events."); |
+ |
+var checkKeyModifiers = false; |
+ |
+var pointerType = ""; |
+var penId = 0; |
+var penPressure = 0; |
+var penTiltX = 0; |
+var penTiltY = 0; |
var testEventList = ["mouseenter", "mouseleave", "mouseover", "mouseout", "mouseup", "mousedown", "mousemove", |
"pointerenter", "pointerleave", "pointerover", "pointerout", "pointerup", "pointerdown", "pointermove"]; |
var lastPointerEvents = []; |
-var checkKeyModifiers = false; |
- |
var numericAttributes = [ |
"clientX", |
"clientY", |
@@ -42,6 +48,8 @@ var numericAttributes = [ |
"button", |
"buttons", |
"pressure", |
+ "tiltX", |
+ "tiltY", |
"width", |
"height", |
]; |
@@ -75,22 +83,28 @@ function init() { |
shouldBeTrue("lastPointerEvents[0].cancelable"); |
} |
- shouldBeEqualToNumber("lastPointerEvents[0].pointerId", 1); |
- shouldBeEqualToString("lastPointerEvents[0].pointerType", "mouse"); |
+ shouldBeEqualToNumber("lastPointerEvents[0].pointerId", |
+ (pointerType == "mouse")? 1 : penId); |
+ shouldBeEqualToString("lastPointerEvents[0].pointerType", pointerType); |
shouldBeTrue("lastPointerEvents[0].isPrimary"); |
numericAttributes.forEach(function(attribute) { |
var expectedValue = eval("event." + attribute); |
if (attribute == "button" && event.type != "mousedown" && event.type != "mouseup") |
expectedValue = -1; |
- if (attribute == "width" || attribute == "height") |
+ else if (attribute == "width" || attribute == "height") |
expectedValue = 1; |
- if (attribute == "pressure") { |
- if (event.buttons == 0) |
- expectedValue = 0.0; |
+ else if (attribute == "pressure") { |
+ if (pointerType == "mouse") |
+ expectedValue = (event.buttons == 0)? 0.0 : 0.5; |
else |
- expectedValue = 0.5; |
+ expectedValue = penPressure; |
} |
+ else if (attribute == "tiltX") |
+ expectedValue = (pointerType == "mouse")? 0 : penTiltX; |
+ else if (attribute == "tiltY") |
+ expectedValue = (pointerType == "mouse")? 0 : penTiltY; |
+ |
shouldBeEqualToNumber("lastPointerEvents[0]." + attribute, expectedValue); |
}); |
shouldBeEqualToString("lastPointerEvents[0].view.name", "mainWindow"); |
@@ -114,16 +128,17 @@ function init() { |
}); |
} |
-function runTests() { |
- var rect = document.getElementById("target").getBoundingClientRect(); |
+function runMouseTests(x, y) { |
+ debug("===== mouse tests ====="); |
+ pointerType = "mouse"; |
debug("--- move mouse into target ---"); |
- eventSender.mouseMoveTo(rect.left + 5, rect.top + 5); |
+ eventSender.mouseMoveTo(x + 5, y + 5); |
debug(""); |
debug("--- move within target ---"); |
- eventSender.mouseMoveTo(rect.left + 7, rect.top + 15); |
- eventSender.mouseMoveTo(rect.left + 5, rect.top + 5); |
+ eventSender.mouseMoveTo(x + 7, y + 15); |
+ eventSender.mouseMoveTo(x + 5, y + 5); |
debug(""); |
debug("--- click each button ---"); |
@@ -144,12 +159,48 @@ function runTests() { |
debug(""); |
debug("--- move mouse out of target ---"); |
- eventSender.mouseMoveTo(rect.left - 5, rect.top - 5); |
+ eventSender.mouseMoveTo(x - 5, y - 5); |
+ |
+ debug(""); |
+} |
+ |
+function runPenTests(x, y) { |
+ debug("===== pen tests ====="); |
+ pointerType = "pen"; |
+ penId = 2; |
+ penPressure = 0.0; |
+ penTiltX = 0; |
+ penTiltY = 0; |
+ |
+ debug("--- move pen into target ---"); |
+ eventSender.mouseMoveTo(x + 5, y + 5, [], "pen", penId, penPressure, penTiltX, penTiltY); |
+ debug(""); |
+ |
+ debug("--- move within target & tap ---"); |
+ penTiltX = 45; |
+ penTiltY = -34; |
+ eventSender.mouseMoveTo(x + 15, y + 15, [], "pen", penId, penPressure, penTiltX, penTiltY); |
+ penPressure = 0.75; |
+ eventSender.mouseDown(0, [], "pen", penId, penPressure, penTiltX, penTiltY); |
+ penPressure = 0.0; |
+ eventSender.mouseUp(0, [], "pen", penId, penPressure, penTiltX, penTiltY); |
+ |
+ debug("--- move pen out of target ---"); |
+ eventSender.mouseMoveTo(x - 5, y - 5, [], "pen", penId, penPressure, penTiltX, penTiltY); |
+ |
+ debug(""); |
+} |
+ |
+function runAllTests() { |
+ var rect = document.getElementById("target").getBoundingClientRect(); |
+ |
+ runMouseTests(rect.left, rect.top); |
+ runPenTests(rect.left, rect.top); |
} |
init(); |
if (window.eventSender) |
- runTests(); |
+ runAllTests(); |
else |
debug("This test requires eventSender"); |