diff -r 000000000000 -r 6474c204b198 browser/components/sessionstore/test/browser_662812.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/browser/components/sessionstore/test/browser_662812.js Wed Dec 31 06:09:35 2014 +0100 @@ -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); +}