1 // Load in the test harness
2 var scriptLoader
= Components
.classes
["@mozilla.org/moz/jssubscript-loader;1"]
3 .getService(Components
.interfaces
.mozIJSSubScriptLoader
);
5 var rootDir
= getRootDirectory(window
.location
.href
);
6 scriptLoader
.loadSubScript(rootDir
+ "harness.js", this);
8 // ----------------------------------------------------------------------------
9 // Tests that going offline cancels an in progress download.
11 Harness
.downloadProgressCallback
= download_progress
;
12 Harness
.installEndedCallback
= check_xpi_install
;
13 Harness
.installsCompletedCallback
= finish_test
;
16 var pm
= Services
.perms
;
17 pm
.add(makeURI("http://example.com/"), "install", pm
.ALLOW_ACTION
);
19 var triggers
= encodeURIComponent(JSON
.stringify({
20 "Unsigned XPI": TESTROOT
+ "unsigned.xpi"
22 gBrowser
.selectedTab
= gBrowser
.addTab();
23 gBrowser
.loadURI(TESTROOT
+ "installtrigger.html?" + triggers
);
26 function download_progress(addon
, value
, maxValue
) {
28 Services
.io
.manageOfflineStatus
= false;
29 Services
.prefs
.setBoolPref("browser.offline", true);
30 Services
.io
.offline
= true;
35 function check_xpi_install(addon
, status
) {
36 is(status
, -210, "Install should be cancelled");
39 function finish_test() {
41 Services
.prefs
.setBoolPref("browser.offline", false);
42 Services
.io
.offline
= false;
46 Services
.perms
.remove("example.com", "install");
48 gBrowser
.removeCurrentTab();