tor-browser

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

browser_backforward_restore_scroll.js (1710B)


      1 /* Any copyright is dedicated to the Public Domain.
      2   http://creativecommons.org/publicdomain/zero/1.0/ */
      3 
      4 "use strict";
      5 
      6 const ROOT = getRootDirectory(gTestPath).replace(
      7  "chrome://mochitests/content",
      8  "http://mochi.test:8888"
      9 );
     10 const URL1 = ROOT + "file_backforward_restore_scroll.html";
     11 // eslint-disable-next-line @microsoft/sdl/no-insecure-url
     12 const URL2 = "http://example.net/";
     13 
     14 const SCROLL0 = 500;
     15 const SCROLL1 = 1000;
     16 
     17 function promiseBrowserLoaded(url) {
     18  return BrowserTestUtils.browserLoaded(gBrowser.selectedBrowser, false, url);
     19 }
     20 
     21 add_task(async function test() {
     22  await BrowserTestUtils.openNewForegroundTab(gBrowser, URL1);
     23 
     24  // Scroll the 2 frames.
     25  let children = gBrowser.selectedBrowser.browsingContext.children;
     26  await SpecialPowers.spawn(children[0], [SCROLL0], scrollY =>
     27    content.scrollTo(0, scrollY)
     28  );
     29  await SpecialPowers.spawn(children[1], [SCROLL1], scrollY =>
     30    content.scrollTo(0, scrollY)
     31  );
     32 
     33  // Navigate forwards then backwards.
     34  let loaded = promiseBrowserLoaded(URL2);
     35  BrowserTestUtils.startLoadingURIString(gBrowser.selectedBrowser, URL2);
     36  await loaded;
     37 
     38  loaded = promiseBrowserLoaded(URL1);
     39  await SpecialPowers.spawn(gBrowser.selectedBrowser, [], () => {
     40    content.history.back();
     41  });
     42  await loaded;
     43 
     44  // And check the results.
     45  children = gBrowser.selectedBrowser.browsingContext.children;
     46  await SpecialPowers.spawn(children[0], [SCROLL0], scrollY => {
     47    Assert.equal(content.scrollY, scrollY, "frame 0 has correct scroll");
     48  });
     49  await SpecialPowers.spawn(children[1], [SCROLL1], scrollY => {
     50    Assert.equal(content.scrollY, scrollY, "frame 1 has correct scroll");
     51  });
     52 
     53  gBrowser.removeTab(gBrowser.selectedTab);
     54 });