diff options
author | Matt A. Tobin <email@mattatobin.com> | 2018-02-03 06:00:38 -0500 |
---|---|---|
committer | Matt A. Tobin <email@mattatobin.com> | 2018-02-03 06:00:38 -0500 |
commit | 8148615da179fdd60f19018e13b4e94b95609cc6 (patch) | |
tree | 771fccdd99fa3adf35fdd2c81d8197b415a89b91 /browser/components/sessionstore/test/browser_595601-restore_hidden.js | |
parent | 494802c1be7888025b95260d23db187467d2b9dd (diff) | |
download | UXP-8148615da179fdd60f19018e13b4e94b95609cc6.tar UXP-8148615da179fdd60f19018e13b4e94b95609cc6.tar.gz UXP-8148615da179fdd60f19018e13b4e94b95609cc6.tar.lz UXP-8148615da179fdd60f19018e13b4e94b95609cc6.tar.xz UXP-8148615da179fdd60f19018e13b4e94b95609cc6.zip |
Remove browser tests - Part 1: The Tests (except for experiments)
Diffstat (limited to 'browser/components/sessionstore/test/browser_595601-restore_hidden.js')
-rw-r--r-- | browser/components/sessionstore/test/browser_595601-restore_hidden.js | 112 |
1 files changed, 0 insertions, 112 deletions
diff --git a/browser/components/sessionstore/test/browser_595601-restore_hidden.js b/browser/components/sessionstore/test/browser_595601-restore_hidden.js deleted file mode 100644 index 4c2b2d24a..000000000 --- a/browser/components/sessionstore/test/browser_595601-restore_hidden.js +++ /dev/null @@ -1,112 +0,0 @@ -/* Any copyright is dedicated to the Public Domain. - http://creativecommons.org/publicdomain/zero/1.0/ */ - -var state = {windows:[{tabs:[ - {entries:[{url:"http://example.com#1"}]}, - {entries:[{url:"http://example.com#2"}]}, - {entries:[{url:"http://example.com#3"}]}, - {entries:[{url:"http://example.com#4"}]}, - {entries:[{url:"http://example.com#5"}], hidden: true}, - {entries:[{url:"http://example.com#6"}], hidden: true}, - {entries:[{url:"http://example.com#7"}], hidden: true}, - {entries:[{url:"http://example.com#8"}], hidden: true} -]}]}; - -function test() { - waitForExplicitFinish(); - requestLongerTimeout(2); - - registerCleanupFunction(function () { - Services.prefs.clearUserPref("browser.sessionstore.restore_hidden_tabs"); - }); - - // First stage: restoreHiddenTabs = true - // Second stage: restoreHiddenTabs = false - test_loadTabs(true, function () { - test_loadTabs(false, finish); - }); -} - -function test_loadTabs(restoreHiddenTabs, callback) { - Services.prefs.setBoolPref("browser.sessionstore.restore_hidden_tabs", restoreHiddenTabs); - - let expectedTabs = restoreHiddenTabs ? 8 : 4; - let firstProgress = true; - - newWindowWithState(state, function (win, needsRestore, isRestoring) { - if (firstProgress) { - firstProgress = false; - is(isRestoring, 3, "restoring 3 tabs concurrently"); - } else { - ok(isRestoring < 4, "restoring max. 3 tabs concurrently"); - } - - // We're explicity checking for (isRestoring == 1) here because the test - // progress listener is called before the session store one. So when we're - // called with one tab left to restore we know that the last tab has - // finished restoring and will soon be handled by the SS listener. - let tabsNeedingRestore = win.gBrowser.tabs.length - needsRestore; - if (isRestoring == 1 && tabsNeedingRestore == expectedTabs) { - is(win.gBrowser.visibleTabs.length, 4, "only 4 visible tabs"); - - TabsProgressListener.uninit(); - executeSoon(callback); - } - }); -} - -var TabsProgressListener = { - init: function (win) { - this.window = win; - Services.obs.addObserver(this, "sessionstore-debug-tab-restored", false); - }, - - uninit: function () { - Services.obs.removeObserver(this, "sessionstore-debug-tab-restored"); - - delete this.window; - delete this.callback; - }, - - setCallback: function (callback) { - this.callback = callback; - }, - - observe: function (browser) { - TabsProgressListener.onRestored(browser); - }, - - onRestored: function (browser) { - if (this.callback && browser.__SS_restoreState == TAB_STATE_RESTORING) - this.callback.apply(null, [this.window].concat(this.countTabs())); - }, - - countTabs: function () { - let needsRestore = 0, isRestoring = 0; - - for (let i = 0; i < this.window.gBrowser.tabs.length; i++) { - let browser = this.window.gBrowser.tabs[i].linkedBrowser; - if (browser.__SS_restoreState == TAB_STATE_RESTORING) - isRestoring++; - else if (browser.__SS_restoreState == TAB_STATE_NEEDS_RESTORE) - needsRestore++; - } - - return [needsRestore, isRestoring]; - } -} - -// ---------- -function newWindowWithState(state, callback) { - let opts = "chrome,all,dialog=no,height=800,width=800"; - let win = window.openDialog(getBrowserURL(), "_blank", opts); - - registerCleanupFunction(() => BrowserTestUtils.closeWindow(win)); - - whenWindowLoaded(win, function onWindowLoaded(aWin) { - TabsProgressListener.init(aWin); - TabsProgressListener.setCallback(callback); - - ss.setWindowState(aWin, JSON.stringify(state), true); - }); -} |