tor-browser

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

browser_firefoxView_selected_restore.js (2192B)


      1 /* Any copyright is dedicated to the Public Domain.
      2 * http://creativecommons.org/publicdomain/zero/1.0/ */
      3 
      4 const { _LastSession } = ChromeUtils.importESModule(
      5  "resource:///modules/sessionstore/SessionStore.sys.mjs"
      6 );
      7 const { sinon } = ChromeUtils.importESModule(
      8  "resource://testing-common/Sinon.sys.mjs"
      9 );
     10 
     11 const state = {
     12  windows: [
     13    {
     14      tabs: [
     15        {
     16          entries: [
     17            {
     18              url: "https://example.org/",
     19              triggeringPrincipal_base64,
     20            },
     21          ],
     22        },
     23      ],
     24      selected: 2,
     25    },
     26  ],
     27 };
     28 
     29 add_task(async function test_firefox_view_selected_tab() {
     30  let fxViewBtn = document.getElementById("firefox-view-button");
     31  ok(fxViewBtn, "Got the Firefox View button");
     32  fxViewBtn.click();
     33 
     34  await BrowserTestUtils.browserLoaded(
     35    window.FirefoxViewHandler.tab.linkedBrowser
     36  );
     37 
     38  let allTabsRestored = promiseSessionStoreLoads(1);
     39 
     40  _LastSession.setState(state);
     41 
     42  is(gBrowser.tabs.length, 2, "Number of tabs is 2");
     43 
     44  ss.restoreLastSession();
     45 
     46  await allTabsRestored;
     47 
     48  ok(
     49    window.FirefoxViewHandler.tab.selected,
     50    "The Firefox View tab is selected and the browser window did not close"
     51  );
     52  is(gBrowser.tabs.length, 3, "Number of tabs is 3");
     53 
     54  gBrowser.removeTab(window.FirefoxViewHandler.tab);
     55  gBrowser.removeTab(gBrowser.selectedTab);
     56 });
     57 
     58 add_task(async function test_firefox_view_previously_selected() {
     59  let fxViewBtn = document.getElementById("firefox-view-button");
     60  ok(fxViewBtn, "Got the Firefox View button");
     61  fxViewBtn.click();
     62 
     63  await BrowserTestUtils.browserLoaded(
     64    window.FirefoxViewHandler.tab.linkedBrowser
     65  );
     66 
     67  let tab = gBrowser.tabs[1];
     68  gBrowser.selectedTab = tab;
     69 
     70  let allTabsRestored = promiseSessionStoreLoads(1);
     71 
     72  _LastSession.setState(state);
     73 
     74  is(gBrowser.tabs.length, 2, "Number of tabs is 2");
     75 
     76  ss.restoreLastSession();
     77 
     78  await allTabsRestored;
     79 
     80  ok(
     81    window.FirefoxViewHandler.tab.selected,
     82    "The Firefox View tab is selected and the browser window did not close"
     83  );
     84  is(gBrowser.tabs.length, 3, "Number of tabs is 3");
     85 
     86  gBrowser.removeTab(window.FirefoxViewHandler.tab);
     87  gBrowser.removeTab(gBrowser.selectedTab);
     88 });