diff options
Diffstat (limited to 'browser/base/content/test/general/browser_middleMouse_noJSPaste.js')
-rw-r--r-- | browser/base/content/test/general/browser_middleMouse_noJSPaste.js | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/browser/base/content/test/general/browser_middleMouse_noJSPaste.js b/browser/base/content/test/general/browser_middleMouse_noJSPaste.js new file mode 100644 index 0000000000..c44ff19340 --- /dev/null +++ b/browser/base/content/test/general/browser_middleMouse_noJSPaste.js @@ -0,0 +1,49 @@ +/* Any copyright is dedicated to the Public Domain. + http://creativecommons.org/publicdomain/zero/1.0/ */ + +const middleMousePastePref = "middlemouse.contentLoadURL"; +const autoScrollPref = "general.autoScroll"; + +add_task(async function() { + await pushPrefs([middleMousePastePref, true], [autoScrollPref, false]); + + let tab = await BrowserTestUtils.openNewForegroundTab(gBrowser); + + let url = "javascript:http://www.example.com/"; + await new Promise((resolve, reject) => { + SimpleTest.waitForClipboard( + url, + () => { + Cc["@mozilla.org/widget/clipboardhelper;1"] + .getService(Ci.nsIClipboardHelper) + .copyString(url); + }, + resolve, + () => { + ok(false, "Clipboard copy failed"); + reject(); + } + ); + }); + + let middlePagePromise = BrowserTestUtils.browserLoaded(tab.linkedBrowser); + + // Middle click on the content area + info("Middle clicking"); + await BrowserTestUtils.synthesizeMouse( + null, + 10, + 10, + { button: 1 }, + gBrowser.selectedBrowser + ); + await middlePagePromise; + + is( + gBrowser.currentURI.spec, + url.replace(/^javascript:/, ""), + "url loaded by middle click doesn't include JS" + ); + + gBrowser.removeTab(tab); +}); |