browser_permissions_pointerevent.js (1640B)
1 /* -*- Mode: indent-tabs-mode: nil; js-indent-level: 2 -*- */ 2 /* vim: set sts=2 sw=2 et tw=80: */ 3 "use strict"; 4 5 add_task(async function test_pointerevent() { 6 async function contentScript() { 7 document.addEventListener("pointerdown", async e => { 8 browser.test.assertTrue(true, "Should receive pointerdown"); 9 e.preventDefault(); 10 }); 11 12 document.addEventListener("mousedown", () => { 13 browser.test.assertTrue(true, "Should receive mousedown"); 14 }); 15 16 document.addEventListener("mouseup", () => { 17 browser.test.assertTrue(true, "Should receive mouseup"); 18 }); 19 20 document.addEventListener("pointerup", () => { 21 browser.test.assertTrue(true, "Should receive pointerup"); 22 browser.test.sendMessage("done"); 23 }); 24 browser.test.sendMessage("pageReady"); 25 } 26 27 let extension = ExtensionTestUtils.loadExtension({ 28 background() { 29 browser.test.sendMessage("ready", browser.runtime.getURL("page.html")); 30 }, 31 files: { 32 "page.html": `<html><head><script src="page.js"></script></head></html>`, 33 "page.js": contentScript, 34 }, 35 }); 36 await extension.startup(); 37 let url = await extension.awaitMessage("ready"); 38 await BrowserTestUtils.withNewTab({ gBrowser, url }, async browser => { 39 await extension.awaitMessage("pageReady"); 40 await BrowserTestUtils.synthesizeMouseAtCenter( 41 "html", 42 { type: "mousedown", button: 0 }, 43 browser 44 ); 45 await BrowserTestUtils.synthesizeMouseAtCenter( 46 "html", 47 { type: "mouseup", button: 0 }, 48 browser 49 ); 50 await extension.awaitMessage("done"); 51 }); 52 await extension.unload(); 53 });