Index: third_party/WebKit/LayoutTests/imported/wpt/pointerevents/pointerevent_suppress_compat_events_on_click.html |
diff --git a/third_party/WebKit/LayoutTests/imported/wpt/pointerevents/pointerevent_suppress_compat_events_on_click.html b/third_party/WebKit/LayoutTests/imported/wpt/pointerevents/pointerevent_suppress_compat_events_on_click.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..71b8a08289ada60d91884356919eb2e6ebab63b8 |
--- /dev/null |
+++ b/third_party/WebKit/LayoutTests/imported/wpt/pointerevents/pointerevent_suppress_compat_events_on_click.html |
@@ -0,0 +1,101 @@ |
+<!doctype html> |
+<html> |
+ <head> |
+ <title>Pointer Event: Suppress compatibility mouse events on click</title> |
+ <meta content="text/html; charset=UTF-8" http-equiv="Content-Type"/> |
+ <link rel="author" title="Google" href="http://www.google.com "/> |
+ <meta name="assert" content="When a pointerdown is canceled, a click/tap shouldn't fire any compatibility mouse events."/> |
+ <link rel="stylesheet" type="text/css" href="pointerevent_styles.css"> |
+ <script src="/resources/testharness.js"></script> |
+ <script src="/resources/testharnessreport.js"></script> |
+ <script type="text/javascript" src="pointerevent_support.js"></script> |
+ <script type="text/javascript"> |
+ var test_pointerEvent = async_test("Suppress compat mouse events on click"); |
+ add_completion_callback(end_of_test); |
+ |
+ var detected_pointertypes = {}; |
+ var event_log = []; |
+ |
+ function end_of_test() { |
+ showLoggedEvents(); |
+ showPointerTypes(); |
+ } |
+ |
+ function end_of_interaction() { |
+ test(function () { |
+ assert_equals(event_log.join(", "), |
+ "mousedown@target1, mouseup@target1"); |
+ }, "Event log"); |
+ |
+ test_pointerEvent.done(); // complete test |
+ } |
+ |
+ function run() { |
+ on_event(document.getElementById("done"), "click", end_of_interaction); |
+ |
+ var target_list = ["target0", "target1"]; |
+ var pointer_event_list = ["pointerdown"]; |
+ var mouse_event_list = ["mousedown", "mouseup"]; |
+ |
+ target_list.forEach(function(targetId) { |
+ var target = document.getElementById(targetId); |
+ |
+ pointer_event_list.forEach(function(eventName) { |
+ on_event(target, eventName, function (event) { |
+ detected_pointertypes[event.pointerType] = true; |
+ var label = event.type + "@" + targetId; |
+ |
+ test(function () { |
+ assert_true(event.isPrimary); |
+ }, "primary pointer " + label); |
+ |
+ if (label === "pointerdown@target0") |
+ event.preventDefault(); |
+ }); |
+ }); |
+ |
+ mouse_event_list.forEach(function(eventName) { |
+ on_event(target, eventName, function (event) { |
+ event_log.push(event.type + "@" + targetId); |
+ }); |
+ }); |
+ }); |
+ } |
+ </script> |
+ <style> |
+ #target0, #target1 { |
+ margin: 20px; |
+ } |
+ |
+ #done { |
+ margin: 20px; |
+ border: 2px solid black; |
+ } |
+ </style> |
+ </head> |
+ <body onload="run()"> |
+ <h1>Pointer Event: Suppress compatibility mouse events on click</h1> |
+ <h4> |
+ When a pointerdown is canceled, a click/tap shouldn't fire any compatibility mouse events. |
+ </h4> |
+ <ol> |
+ <li> Click or tap on Target0.</li> |
+ <li> Click or tap on Target1.</li> |
+ <li> Click Done.</li> |
+ </ol> |
+ <div id="target0"> |
+ Target0 |
+ </div> |
+ <div id="target1"> |
+ Target1 |
+ </div> |
+ <div id="done"> |
+ Done |
+ </div> |
+ <div id="complete-notice"> |
+ <p>The following pointer types were detected: <span id="pointertype-log"></span>.</p> |
+ <p>The following events were logged: <span id="event-log"></span>.</p> |
+ </div> |
+ <div id="log"></div> |
+ </body> |
+</html> |