summaryrefslogtreecommitdiffstats
path: root/dom/events/test/test_legacy_non-primary_click.html
diff options
context:
space:
mode:
Diffstat (limited to 'dom/events/test/test_legacy_non-primary_click.html')
-rw-r--r--dom/events/test/test_legacy_non-primary_click.html53
1 files changed, 53 insertions, 0 deletions
diff --git a/dom/events/test/test_legacy_non-primary_click.html b/dom/events/test/test_legacy_non-primary_click.html
new file mode 100644
index 0000000000..6906282aa2
--- /dev/null
+++ b/dom/events/test/test_legacy_non-primary_click.html
@@ -0,0 +1,53 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset="utf-8">
+ <title>Test for dispatching of legacy non-primary click when domain in pref</title>
+ <script src="/tests/SimpleTest/SimpleTest.js"></script>
+ <script src="/tests/SimpleTest/EventUtils.js"></script>
+ <link rel="stylesheet" href="/tests/SimpleTest/test.css"/>
+</head>
+<body>
+<p id="display"></p>
+<div id="content" style="display: none"></div>
+<pre id="test"></pre>
+<a id="link-test" href="example.org">example link</a>
+<script>
+"use strict";
+SimpleTest.waitForExplicitFinish();
+
+const HACK_PREF = "dom.mouseevent.click.hack.use_legacy_non-primary_dispatch";
+const testEl = document.getElementById("test");
+const linkEl = document.getElementById("link-test");
+let seenClick = false;
+
+SpecialPowers.pushPrefEnv(
+ { set: [[HACK_PREF, document.domain]] },
+ () => {
+ SimpleTest.waitForFocus(() => {
+ // Test seeing the non-primary 'click'
+ document.addEventListener("click", (e) => {
+ ok(true, "Saw 'click' event");
+ seenClick = true;
+ }, { once: true });
+ document.addEventListener("auxclick", (e) => {
+ ok(true, "Saw 'auxclick' event");
+ ok(seenClick, "Saw 'click' event before 'auxclick' event");
+ }, { once: true });
+ synthesizeMouseAtCenter(testEl, { button: 1 });
+
+ // Test preventDefaulting on non-primary 'click'
+ document.addEventListener("click", (e) => {
+ is(e.target, linkEl, "Saw 'click' on link");
+ e.preventDefault();
+ SimpleTest.finish();
+ }, { once: true, capture: true });
+ document.addEventListener("auxclick", (e) => {
+ ok(false, "Shouldn't have got 'auxclick' after preventDefaulting 'click'");
+ }, { once: true });
+ synthesizeMouseAtCenter(linkEl, { button: 1 });
+ });
+ });
+</script>
+</body>
+</html>