2012-05-21 04:12:37 -07:00
|
|
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
2008-09-05 20:32:15 -07:00
|
|
|
|
|
|
|
function test() {
|
|
|
|
/** Test for Bug 367052 **/
|
2011-06-25 14:38:31 -07:00
|
|
|
|
2008-09-05 20:32:15 -07:00
|
|
|
waitForExplicitFinish();
|
2012-05-25 14:39:22 -07:00
|
|
|
|
2008-09-05 20:32:15 -07:00
|
|
|
// make sure that the next closed tab will increase getClosedTabCount
|
|
|
|
let max_tabs_undo = gPrefService.getIntPref("browser.sessionstore.max_tabs_undo");
|
|
|
|
gPrefService.setIntPref("browser.sessionstore.max_tabs_undo", max_tabs_undo + 1);
|
|
|
|
let closedTabCount = ss.getClosedTabCount(window);
|
2012-05-25 14:39:22 -07:00
|
|
|
|
2008-09-05 20:32:15 -07:00
|
|
|
// restore a blank tab
|
2011-06-25 14:38:31 -07:00
|
|
|
let tab = gBrowser.addTab("about:");
|
2008-09-05 20:32:15 -07:00
|
|
|
tab.linkedBrowser.addEventListener("load", function(aEvent) {
|
|
|
|
this.removeEventListener("load", arguments.callee, true);
|
2012-05-25 14:39:22 -07:00
|
|
|
|
2009-09-16 03:21:19 -07:00
|
|
|
let history = tab.linkedBrowser.webNavigation.sessionHistory;
|
2008-09-05 20:32:15 -07:00
|
|
|
ok(history.count >= 1, "the new tab does have at least one history entry");
|
2012-05-25 14:39:22 -07:00
|
|
|
|
2010-06-09 13:55:45 -07:00
|
|
|
ss.setTabState(tab, JSON.stringify({ entries: [] }));
|
2008-09-05 20:32:15 -07:00
|
|
|
tab.linkedBrowser.addEventListener("load", function(aEvent) {
|
2009-10-13 06:31:53 -07:00
|
|
|
this.removeEventListener("load", arguments.callee, true);
|
2008-09-05 20:32:15 -07:00
|
|
|
ok(history.count == 0, "the tab was restored without any history whatsoever");
|
2012-05-25 14:39:22 -07:00
|
|
|
|
2011-06-25 14:38:31 -07:00
|
|
|
gBrowser.removeTab(tab);
|
2008-09-05 20:32:15 -07:00
|
|
|
ok(ss.getClosedTabCount(window) == closedTabCount,
|
|
|
|
"The closed blank tab wasn't added to Recently Closed Tabs");
|
2012-05-25 14:39:22 -07:00
|
|
|
|
2008-09-05 20:32:15 -07:00
|
|
|
// clean up
|
2009-10-29 06:44:10 -07:00
|
|
|
if (gPrefService.prefHasUserValue("browser.sessionstore.max_tabs_undo"))
|
|
|
|
gPrefService.clearUserPref("browser.sessionstore.max_tabs_undo");
|
2008-09-05 20:32:15 -07:00
|
|
|
finish();
|
|
|
|
}, true);
|
|
|
|
}, true);
|
|
|
|
}
|