diff options
Diffstat (limited to 'toolkit/mozapps/webextensions/test/browser/browser_discovery_install.js')
-rw-r--r-- | toolkit/mozapps/webextensions/test/browser/browser_discovery_install.js | 133 |
1 files changed, 0 insertions, 133 deletions
diff --git a/toolkit/mozapps/webextensions/test/browser/browser_discovery_install.js b/toolkit/mozapps/webextensions/test/browser/browser_discovery_install.js deleted file mode 100644 index 63516bd53..000000000 --- a/toolkit/mozapps/webextensions/test/browser/browser_discovery_install.js +++ /dev/null @@ -1,133 +0,0 @@ -/* Any copyright is dedicated to the Public Domain. - * http://creativecommons.org/publicdomain/zero/1.0/ - */ - -// Tests that the discovery view can install add-ons correctly - -const MAIN_URL = "https://example.com/" + RELATIVE_DIR + "discovery_install.html"; -const GOOD_FRAMED_URL = "https://example.com/" + RELATIVE_DIR + "discovery_frame.html"; -const BAD_FRAMED_URL = "https://example.org/" + RELATIVE_DIR + "discovery_frame.html"; - -const PREF_INSTALL_REQUIREBUILTINCERTS = "extensions.install.requireBuiltInCerts"; - -// Temporarily enable caching -Services.prefs.setBoolPref(PREF_GETADDONS_CACHE_ENABLED, true); -// Allow SSL from non-built-in certs -Services.prefs.setBoolPref(PREF_INSTALL_REQUIREBUILTINCERTS, false); -// Allow installs from the test site -Services.perms.add(NetUtil.newURI("https://example.com/"), "install", - Ci.nsIPermissionManager.ALLOW_ACTION); -Services.perms.add(NetUtil.newURI("https://example.org/"), "install", - Ci.nsIPermissionManager.ALLOW_ACTION); - -registerCleanupFunction(() => { - Services.perms.remove(NetUtil.newURI("https://example.com/"), "install"); - Services.perms.remove(NetUtil.newURI("https://example.org/"), "install"); - Services.prefs.clearUserPref(PREF_INSTALL_REQUIREBUILTINCERTS); -}); - -function clickLink(frameLoader, id) { - let link = frameLoader.contentDocument.getElementById(id); - EventUtils.sendMouseEvent({type: "click"}, link); -} - -function waitForInstall() { - return new Promise(resolve => { - wait_for_window_open((window) => { - is(window.location, "chrome://mozapps/content/xpinstall/xpinstallConfirm.xul", - "Should have seen the install window"); - window.document.documentElement.cancelDialog(); - resolve(); - }); - }); -} - -function waitForFail() { - return new Promise(resolve => { - let listener = (subject, topic, data) => { - Services.obs.removeObserver(listener, topic); - resolve(); - } - Services.obs.addObserver(listener, "addon-install-origin-blocked", false); - }); -} - -// Tests that navigating to an XPI attempts to install correctly -add_task(function* test_install_direct() { - Services.prefs.setCharPref(PREF_DISCOVERURL, MAIN_URL); - - let managerWindow = yield open_manager("addons://discover/"); - let browser = managerWindow.document.getElementById("discover-browser"); - - clickLink(browser, "install-direct"); - yield waitForInstall(); - - yield close_manager(managerWindow); -}); - -// Tests that installing via JS works correctly -add_task(function* test_install_js() { - Services.prefs.setCharPref(PREF_DISCOVERURL, MAIN_URL); - - let managerWindow = yield open_manager("addons://discover/"); - let browser = managerWindow.document.getElementById("discover-browser"); - - clickLink(browser, "install-js"); - yield waitForInstall(); - - yield close_manager(managerWindow); -}); - -// Installing from an inner-frame of the same origin should work -add_task(function* test_install_inner_direct() { - Services.prefs.setCharPref(PREF_DISCOVERURL, GOOD_FRAMED_URL); - - let managerWindow = yield open_manager("addons://discover/"); - let browser = managerWindow.document.getElementById("discover-browser"); - let frame = browser.contentDocument.getElementById("frame"); - - clickLink(frame, "install-direct"); - yield waitForInstall(); - - yield close_manager(managerWindow); -}); - -add_task(function* test_install_inner_js() { - Services.prefs.setCharPref(PREF_DISCOVERURL, GOOD_FRAMED_URL); - - let managerWindow = yield open_manager("addons://discover/"); - let browser = managerWindow.document.getElementById("discover-browser"); - let frame = browser.contentDocument.getElementById("frame"); - - clickLink(frame, "install-js"); - yield waitForInstall(); - - yield close_manager(managerWindow); -}); - -// Installing from an inner-frame of a different origin should fail -add_task(function* test_install_xorigin_direct() { - Services.prefs.setCharPref(PREF_DISCOVERURL, BAD_FRAMED_URL); - - let managerWindow = yield open_manager("addons://discover/"); - let browser = managerWindow.document.getElementById("discover-browser"); - let frame = browser.contentDocument.getElementById("frame"); - - clickLink(frame, "install-direct"); - yield waitForFail(); - - yield close_manager(managerWindow); -}); - -add_task(function* test_install_xorigin_js() { - Services.prefs.setCharPref(PREF_DISCOVERURL, BAD_FRAMED_URL); - - let managerWindow = yield open_manager("addons://discover/"); - let browser = managerWindow.document.getElementById("discover-browser"); - let frame = browser.contentDocument.getElementById("frame"); - - clickLink(frame, "install-js"); - yield waitForFail(); - - yield close_manager(managerWindow); -}); |