browser_middleMouse_noJSPaste.js (1294B)
1 /* Any copyright is dedicated to the Public Domain. 2 http://creativecommons.org/publicdomain/zero/1.0/ */ 3 4 const middleMousePastePref = "middlemouse.contentLoadURL"; 5 const autoScrollPref = "general.autoScroll"; 6 7 add_task(async function () { 8 await pushPrefs( 9 ["test.wait300msAfterTabSwitch", true], 10 [middleMousePastePref, true], 11 [autoScrollPref, false] 12 ); 13 14 let tab = await BrowserTestUtils.openNewForegroundTab(gBrowser); 15 16 let url = "javascript:http://www.example.com/"; 17 await new Promise((resolve, reject) => { 18 SimpleTest.waitForClipboard( 19 url, 20 () => { 21 Cc["@mozilla.org/widget/clipboardhelper;1"] 22 .getService(Ci.nsIClipboardHelper) 23 .copyString(url); 24 }, 25 resolve, 26 () => { 27 ok(false, "Clipboard copy failed"); 28 reject(); 29 } 30 ); 31 }); 32 33 let middlePagePromise = BrowserTestUtils.browserLoaded(tab.linkedBrowser); 34 35 // Middle click on the content area 36 info("Middle clicking"); 37 await BrowserTestUtils.synthesizeMouse( 38 null, 39 10, 40 10, 41 { button: 1 }, 42 gBrowser.selectedBrowser 43 ); 44 await middlePagePromise; 45 46 is( 47 gBrowser.currentURI.spec, 48 url.replace(/^javascript:/, ""), 49 "url loaded by middle click doesn't include JS" 50 ); 51 52 gBrowser.removeTab(tab); 53 });