tor-browser

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

browser_layers_unloaded_while_interruptingJS.js (1005B)


      1 /* Any copyright is dedicated to the Public Domain.
      2   http://creativecommons.org/publicdomain/zero/1.0/ */
      3 
      4 "use strict";
      5 
      6 add_task(async function test_check_layers_cleared() {
      7  let initialTab = gBrowser.selectedTab;
      8  await BrowserTestUtils.withNewTab("about:blank", async browser => {
      9    await ContentTask.spawn(browser, null, () => {
     10      return new Promise(resolve => {
     11        content.requestAnimationFrame(() => {
     12          content.setTimeout(
     13            "let start = performance.now(); while (performance.now() < start + 5000);"
     14          );
     15          resolve();
     16        });
     17      });
     18    });
     19    let layersCleared = BrowserTestUtils.waitForEvent(
     20      window,
     21      "MozLayerTreeCleared"
     22    );
     23    let startWaiting = performance.now();
     24    await BrowserTestUtils.switchTab(gBrowser, initialTab);
     25    await layersCleared;
     26    Assert.less(
     27      performance.now(),
     28      startWaiting + 2000,
     29      "MozLayerTreeCleared should be dispatched while the script is still running"
     30    );
     31  });
     32 });