tor-browser

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

browser_duplicate_history.js (969B)


      1 ChromeUtils.defineESModuleGetters(this, {
      2  SessionStore: "resource:///modules/sessionstore/SessionStore.sys.mjs",
      3  TabStateCache: "resource:///modules/sessionstore/TabStateCache.sys.mjs",
      4 });
      5 
      6 add_task(async function () {
      7  await BrowserTestUtils.withNewTab(
      8    "http://example.com",
      9    async function (aBrowser) {
     10      let tab = gBrowser.getTabForBrowser(aBrowser);
     11      await TabStateFlusher.flush(aBrowser);
     12      let before = TabStateCache.get(aBrowser.permanentKey);
     13 
     14      let newTab = SessionStore.duplicateTab(window, tab);
     15      await Promise.all([
     16        BrowserTestUtils.browserLoaded(newTab.linkedBrowser),
     17        TestUtils.topicObserved("sessionstore-debug-tab-restored"),
     18      ]);
     19      let after = TabStateCache.get(newTab.linkedBrowser.permanentKey);
     20 
     21      isnot(
     22        before.history.entries,
     23        after.history.entries,
     24        "The entry objects should not be shared"
     25      );
     26 
     27      BrowserTestUtils.removeTab(newTab);
     28    }
     29  );
     30 });