tor-browser

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

browser_page_title.js (1300B)


      1 "use strict";
      2 
      3 const URL = "data:text/html,<title>initial title</title>";
      4 
      5 add_task(async function () {
      6  // Create a new tab.
      7  let tab = BrowserTestUtils.addTab(gBrowser, URL);
      8  await promiseBrowserLoaded(tab.linkedBrowser);
      9 
     10  // Remove the tab.
     11  await promiseRemoveTabAndSessionState(tab);
     12 
     13  // Check the title.
     14  let [
     15    {
     16      state: { entries },
     17    },
     18  ] = ss.getClosedTabDataForWindow(window);
     19  is(entries[0].title, "initial title", "correct title");
     20 });
     21 
     22 add_task(async function () {
     23  // Create a new tab.
     24  let tab = BrowserTestUtils.addTab(gBrowser, URL);
     25  let browser = tab.linkedBrowser;
     26  await promiseBrowserLoaded(browser);
     27 
     28  // Flush to ensure we collected the initial title.
     29  await TabStateFlusher.flush(browser);
     30 
     31  // Set a new title.
     32  await SpecialPowers.spawn(browser, [], async function () {
     33    return new Promise(resolve => {
     34      docShell.chromeEventHandler.addEventListener(
     35        "DOMTitleChanged",
     36        () => resolve(),
     37        { once: true }
     38      );
     39 
     40      content.document.title = "new title";
     41    });
     42  });
     43 
     44  // Remove the tab.
     45  await promiseRemoveTabAndSessionState(tab);
     46 
     47  // Check the title.
     48  let [
     49    {
     50      state: { entries },
     51    },
     52  ] = ss.getClosedTabDataForWindow(window);
     53  is(entries[0].title, "new title", "correct title");
     54 });