48 lines
1.3 KiB
JavaScript
48 lines
1.3 KiB
JavaScript
const TEST_URL =
|
|
"https://example.com/browser/dom/tests/browser/page_scriptCache_load_events.html";
|
|
|
|
async function testOrder() {
|
|
ChromeUtils.clearResourceCache();
|
|
Services.cache2.clear();
|
|
|
|
const tab = await BrowserTestUtils.openNewForegroundTab({
|
|
gBrowser,
|
|
url: TEST_URL,
|
|
});
|
|
|
|
// The script should be executed in between DOMContentLoaded and load events.
|
|
|
|
// Uncached cache.
|
|
let result = await SpecialPowers.spawn(tab.linkedBrowser, [], () => {
|
|
return content.document.getElementById("result").textContent;
|
|
});
|
|
is(result, "DOMContentLoaded+script+load");
|
|
|
|
await BrowserTestUtils.reloadTab(tab);
|
|
|
|
// Cached cache.
|
|
result = await SpecialPowers.spawn(tab.linkedBrowser, [], () => {
|
|
return content.document.getElementById("result").textContent;
|
|
});
|
|
is(result, "DOMContentLoaded+script+load");
|
|
|
|
BrowserTestUtils.removeTab(tab);
|
|
}
|
|
|
|
add_task(async function test_withoutNavigationCache() {
|
|
await SpecialPowers.pushPrefEnv({
|
|
set: [["dom.script_loader.navigation_cache", false]],
|
|
});
|
|
registerCleanupFunction(() => SpecialPowers.popPrefEnv());
|
|
|
|
await testOrder();
|
|
});
|
|
|
|
add_task(async function test_withNavigationCache() {
|
|
await SpecialPowers.pushPrefEnv({
|
|
set: [["dom.script_loader.navigation_cache", true]],
|
|
});
|
|
registerCleanupFunction(() => SpecialPowers.popPrefEnv());
|
|
|
|
await testOrder();
|
|
});
|