1 // Load in the test harness
2 var scriptLoader = Components.classes["@mozilla.org/moz/jssubscript-loader;1"]
3 .getService(Components.interfaces.mozIJSSubScriptLoader);
4 scriptLoader.loadSubScript("chrome://mochikit/content/browser/xpinstall/tests/harness.js", this);
6 // ----------------------------------------------------------------------------
7 // Tests installing an unsigned add-on through a navigation. Should be
8 // blocked since the referer is not whitelisted even though the target is.
10 Harness.installBlockedCallback = allow_blocked;
11 Harness.installsCompletedCallback = finish_test;
14 var pm = Components.classes["@mozilla.org/permissionmanager;1"]
15 .getService(Components.interfaces.nsIPermissionManager);
16 pm.add(makeURI("http://example.com/"), "install", pm.ALLOW_ACTION);
18 var triggers = encodeURIComponent(JSON.stringify({
19 "Unsigned XPI": TESTROOT2 + "unsigned.xpi"
21 gBrowser.selectedTab = gBrowser.addTab();
22 gBrowser.loadURI(TESTROOT + "unsigned.xpi", makeURI(TESTROOT2 + "test.html"));
25 function allow_blocked(installInfo) {
26 is(installInfo.originatingWindow, gBrowser.contentWindow, "Install should have been triggered by the right window");
27 is(installInfo.originatingURI.spec, TESTROOT2 + "test.html", "Install should have been triggered by the right uri");
31 function finish_test() {
32 var pm = Components.classes["@mozilla.org/permissionmanager;1"]
33 .getService(Components.interfaces.nsIPermissionManager);
34 pm.remove("example.com", "install");
36 gBrowser.removeCurrentTab();
39 // ----------------------------------------------------------------------------