gecko-dev/docshell/test/unit/test_bug442584.js

44 строки
1.2 KiB
JavaScript

var prefetch = Cc["@mozilla.org/prefetch-service;1"].getService(
Ci.nsIPrefetchService
);
var ReferrerInfo = Components.Constructor(
"@mozilla.org/referrer-info;1",
"nsIReferrerInfo",
"init"
);
function run_test() {
// Fill up the queue
Services.prefs.setBoolPref("network.prefetch-next", true);
for (var i = 0; i < 5; i++) {
var uri = Services.io.newURI("http://localhost/" + i);
var referrerInfo = new ReferrerInfo(
Ci.nsIHttpChannel.REFERRER_POLICY_UNSET,
true,
uri
);
prefetch.prefetchURI(uri, referrerInfo, null, true);
}
// Make sure the queue has items in it...
Assert.ok(prefetch.hasMoreElements());
// Now disable the pref to force the queue to empty...
Services.prefs.setBoolPref("network.prefetch-next", false);
Assert.ok(!prefetch.hasMoreElements());
// Now reenable the pref, and add more items to the queue.
Services.prefs.setBoolPref("network.prefetch-next", true);
for (var k = 0; k < 5; k++) {
var uri2 = Services.io.newURI("http://localhost/" + k);
var referrerInfo2 = new ReferrerInfo(
Ci.nsIHttpChannel.REFERRER_POLICY_UNSET,
true,
uri2
);
prefetch.prefetchURI(uri2, referrerInfo2, null, true);
}
Assert.ok(prefetch.hasMoreElements());
}