| Index: third_party/WebKit/LayoutTests/fast/events/pointerevents/mouse-pointer-boundary-events-for-shadowdom.html
|
| diff --git a/third_party/WebKit/LayoutTests/fast/events/pointerevents/mouse-pointer-boundary-events-for-shadowdom.html b/third_party/WebKit/LayoutTests/fast/events/pointerevents/mouse-pointer-boundary-events-for-shadowdom.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..adb0032b1b54a445e02c20a8eb2d1c75951a7728
|
| --- /dev/null
|
| +++ b/third_party/WebKit/LayoutTests/fast/events/pointerevents/mouse-pointer-boundary-events-for-shadowdom.html
|
| @@ -0,0 +1,70 @@
|
| +<!DOCTYPE HTML>
|
| +<script src="../../../resources/testharness.js"></script>
|
| +<script src="../../../resources/testharnessreport.js"></script>
|
| +
|
| +<h1>PointerEvent: Verifies that mouse boundary events don't point to shadow-dom</h1>
|
| +
|
| +<input id="target" style="margin: 20px">
|
| +
|
| +<script>
|
| +var receivedEvents = [];
|
| +
|
| +function testReceivedEvents(expectedEvents, testLabel) {
|
| + test(function() {
|
| + assert_array_equals(receivedEvents, expectedEvents);
|
| + }, testLabel);
|
| + receivedEvents = [];
|
| +}
|
| +
|
| +function name(node) {
|
| + return node? node.tagName : "(null)";
|
| +}
|
| +
|
| +function init() {
|
| + var targetEvents = ["mouseout", "pointerout", "mouseover", "pointerover"];
|
| +
|
| + targetEvents.forEach(function(eventName) {
|
| + window.addEventListener(eventName, function(e) {
|
| + var eventDetails = e.type +
|
| + " target=" + name(e.target) +
|
| + " relatedTarget=" + name(e.relatedTarget);
|
| + receivedEvents.push(eventDetails);
|
| + });
|
| + });
|
| +}
|
| +
|
| +function runTests() {
|
| + var rect = document.getElementById("target").getBoundingClientRect();
|
| + eventSender.mouseMoveTo(rect.left - 10, rect.top - 10);
|
| + receivedEvents = [];
|
| +
|
| + eventSender.mouseMoveTo(rect.left + 10, rect.top + 10);
|
| + testReceivedEvents([
|
| + "pointerout target=BODY relatedTarget=INPUT",
|
| + "pointerover target=INPUT relatedTarget=BODY",
|
| + "mouseout target=BODY relatedTarget=INPUT",
|
| + "mouseover target=INPUT relatedTarget=BODY",
|
| + ], "Moved into <input>");
|
| +
|
| + eventSender.mouseMoveTo(rect.left - 10, rect.top - 10);
|
| + testReceivedEvents([
|
| + "pointerout target=INPUT relatedTarget=BODY",
|
| + "pointerover target=BODY relatedTarget=INPUT",
|
| + "mouseout target=INPUT relatedTarget=BODY",
|
| + "mouseover target=BODY relatedTarget=INPUT",
|
| + ], "Moved out of <input>");
|
| +}
|
| +
|
| +test(function() {
|
| + if (!window.eventSender)
|
| + assert_true(true, "No eventSender, skipped tests");
|
| + else if (!window.PointerEvent)
|
| + assert_true(true, "No PointerEvent, skipped tests");
|
| + else {
|
| + init();
|
| + runTests();
|
| + }
|
| +
|
| + done();
|
| +}, "PointerEvent: Verifies that mouse boundary events don't point to shadow-dom");
|
| +</script>
|
|
|