diff options
Diffstat (limited to 'browser/components/sessionstore/test/browser_662812.js')
-rw-r--r-- | browser/components/sessionstore/test/browser_662812.js | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/browser/components/sessionstore/test/browser_662812.js b/browser/components/sessionstore/test/browser_662812.js new file mode 100644 index 000000000..1bbaf67dc --- /dev/null +++ b/browser/components/sessionstore/test/browser_662812.js @@ -0,0 +1,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); +} |