summaryrefslogtreecommitdiffstats
path: root/browser/components/uitour/test/browser_closeTab.js
blob: 24984303f64e95bdfddd783a75305acc079cead4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
"use strict";

var gTestTab;
var gContentAPI;

add_task(setup_UITourTest);

add_UITour_task(async function test_closeTab() {
  // Setting gTestTab to null indicates that the tab has already been closed,
  // and if this does not happen the test run will fail.
  let closePromise = BrowserTestUtils.waitForEvent(
    gBrowser.tabContainer,
    "TabClose"
  );
  // In the e10s-case, having content request a tab close might mean
  // that the ContentTask used to send this closeTab message won't
  // get a response (since the message manager may have closed down).
  // So we ignore the Promise that closeTab returns, and use the TabClose
  // event to tell us when the tab has gone away.
  gContentAPI.closeTab();
  await closePromise;
  gTestTab = null;
});