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

Unified Diff: third_party/WebKit/LayoutTests/fast/events/pointerevents/mouse-pointer-boundary-events-for-shadowdom.html

Issue 2640413002: Event-path fix-up for PointerEvents in shadow dom. (Closed)
Patch Set: Added a layout test. Created 3 years, 11 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
« no previous file with comments | « no previous file | third_party/WebKit/Source/core/events/NodeEventContext.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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>
« no previous file with comments | « no previous file | third_party/WebKit/Source/core/events/NodeEventContext.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698