summaryrefslogtreecommitdiffstats
path: root/dom/events/test/pointerevents/pointerevent_suppress_compat_events_on_click.html
diff options
context:
space:
mode:
Diffstat (limited to 'dom/events/test/pointerevents/pointerevent_suppress_compat_events_on_click.html')
-rw-r--r--dom/events/test/pointerevents/pointerevent_suppress_compat_events_on_click.html104
1 files changed, 104 insertions, 0 deletions
diff --git a/dom/events/test/pointerevents/pointerevent_suppress_compat_events_on_click.html b/dom/events/test/pointerevents/pointerevent_suppress_compat_events_on_click.html
new file mode 100644
index 000000000..89508ee92
--- /dev/null
+++ b/dom/events/test/pointerevents/pointerevent_suppress_compat_events_on_click.html
@@ -0,0 +1,104 @@
+<!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" src="mochitest_support_internal.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>