tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

browser_scriptCache_load_events.js (1384B)


      1 const TEST_URL =
      2  "https://example.com/browser/dom/tests/browser/page_scriptCache_load_events.html";
      3 
      4 async function testOrder() {
      5  ChromeUtils.clearResourceCache();
      6  Services.cache2.clear();
      7 
      8  const tab = await BrowserTestUtils.openNewForegroundTab({
      9    gBrowser,
     10    url: TEST_URL,
     11  });
     12 
     13  // The script should be executed in between DOMContentLoaded and load events.
     14 
     15  // Uncached cache.
     16  let result = await SpecialPowers.spawn(tab.linkedBrowser, [], () => {
     17    return content.document.getElementById("result").textContent;
     18  });
     19  is(result, "DOMContentLoaded+script+load");
     20 
     21  await BrowserTestUtils.reloadTab(tab);
     22 
     23  // Cached cache.
     24  result = await SpecialPowers.spawn(tab.linkedBrowser, [], () => {
     25    return content.document.getElementById("result").textContent;
     26  });
     27  is(result, "DOMContentLoaded+script+load");
     28 
     29  BrowserTestUtils.removeTab(tab);
     30 }
     31 
     32 add_task(async function test_withoutNavigationCache() {
     33  await SpecialPowers.pushPrefEnv({
     34    set: [["dom.script_loader.experimental.navigation_cache", false]],
     35  });
     36  registerCleanupFunction(() => SpecialPowers.popPrefEnv());
     37 
     38  await testOrder();
     39 });
     40 
     41 add_task(async function test_withNavigationCache() {
     42  await SpecialPowers.pushPrefEnv({
     43    set: [["dom.script_loader.experimental.navigation_cache", true]],
     44  });
     45  registerCleanupFunction(() => SpecialPowers.popPrefEnv());
     46 
     47  await testOrder();
     48 });