summaryrefslogtreecommitdiffstats
path: root/browser/components/sessionstore/test/browser_662812.js
blob: 1bbaf67dc34015eb7165d03c631c75a072180a15 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
/* Any copyright is dedicated to the Public Domain.
   http://creativecommons.org/publicdomain/zero/1.0/ */

function test() {
  waitForExplicitFinish();

  window.addEventListener("SSWindowStateBusy", function onBusy() {
    window.removeEventListener("SSWindowStateBusy", onBusy, false);

    let state = JSON.parse(ss.getWindowState(window));
    ok(state.windows[0].busy, "window is busy");

    window.addEventListener("SSWindowStateReady", function onReady() {
      window.removeEventListener("SSWindowStateReady", onReady, false);

      let state = JSON.parse(ss.getWindowState(window));
      ok(!state.windows[0].busy, "window is not busy");

      executeSoon(() => {
        gBrowser.removeTab(gBrowser.tabs[1]);
        finish();
      });
    }, false);
  }, false);

  // create a new tab
  let tab = gBrowser.addTab("about:mozilla");
  let browser = tab.linkedBrowser;

  // close and restore it
  browser.addEventListener("load", function onLoad() {
    browser.removeEventListener("load", onLoad, true);
    gBrowser.removeTab(tab);
    ss.undoCloseTab(window, 0);
  }, true);
}