summaryrefslogtreecommitdiffstats
path: root/mobile/android/tests/browser/chrome/test_session_zombification.html
diff options
context:
space:
mode:
Diffstat (limited to 'mobile/android/tests/browser/chrome/test_session_zombification.html')
-rw-r--r--mobile/android/tests/browser/chrome/test_session_zombification.html185
1 files changed, 0 insertions, 185 deletions
diff --git a/mobile/android/tests/browser/chrome/test_session_zombification.html b/mobile/android/tests/browser/chrome/test_session_zombification.html
deleted file mode 100644
index eba255ff6..000000000
--- a/mobile/android/tests/browser/chrome/test_session_zombification.html
+++ /dev/null
@@ -1,185 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<!--
-https://bugzilla.mozilla.org/show_bug.cgi?id=1044556
--->
-<head>
- <meta charset="utf-8">
- <title>Test for Bug 1044556</title>
- <script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
- <script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SpawnTask.js"></script>
- <link rel="stylesheet" type="text/css" href="chrome://global/skin"/>
- <link rel="stylesheet" type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css"/>
- <script type="application/javascript" src="head.js"></script>
- <script type="application/javascript">
-
- /** Test for Bug 1044556 **/
-
- "use strict";
-
- const { classes: Cc, interfaces: Ci, utils: Cu } = Components;
-
- Cu.import("resource://gre/modules/XPCOMUtils.jsm");
- Cu.import("resource://gre/modules/Services.jsm");
- Cu.import("resource://gre/modules/Messaging.jsm");
- Cu.import("resource://gre/modules/Task.jsm");
-
- // Import the MemoryObserver
- Cu.import("resource://gre/modules/PrivateBrowsingUtils.jsm");
- XPCOMUtils.defineLazyGetter(this, "MemoryObserver", function() {
- let sandbox = {};
- Services.scriptloader.loadSubScript("chrome://browser/content/MemoryObserver.js", sandbox);
- return sandbox["MemoryObserver"];
- });
-
- // The chrome window
- let chromeWin;
-
- // Track the tabs where the tests are happening
- let tabBlank;
- let tabTest;
-
- const url1 = "data:text/html;charset=utf-8,It%20was%20a%20dark%20and%20stormy%20night.";
- const url2 = "data:text/html;charset=utf-8,Suddenly%2C%20a%20tab%20was%20zombified.";
-
- add_task(function* test_sessionStoreZombify() {
- chromeWin = Services.wm.getMostRecentWindow("navigator:browser");
- let BrowserApp = chromeWin.BrowserApp;
-
- SimpleTest.registerCleanupFunction(function() {
- BrowserApp.closeTab(tabBlank);
- BrowserApp.closeTab(tabTest);
- });
-
- // Add a new tab with some content
- tabTest = BrowserApp.addTab(url1 , { selected: true, parentId: BrowserApp.selectedTab.id });
- yield promiseBrowserEvent(tabTest.browser, "DOMContentLoaded");
-
- // Add a new tab with a blank page
- tabBlank = BrowserApp.addTab("about:blank", { selected: true, parentId: BrowserApp.selectedTab.id });
- is(BrowserApp.selectedTab, tabBlank, "Test tab is in background.");
-
- // Zombify the backgrounded test tab
- MemoryObserver.zombify(tabTest);
-
- // Check that the test tab is actually zombified
- ok(tabTest.browser.__SS_restore, "Test tab is set for delay loading.");
-
- // Switch back to the test tab and wait for it to reload
- BrowserApp.selectTab(tabTest);
- yield promiseBrowserEvent(tabTest.browser, "DOMContentLoaded");
-
- // Check that the test tab has loaded the correct url
- is(tabTest.browser.currentURI.spec, url1, "Test tab is showing the first URL.");
-
- // Navigate to some other content
- BrowserApp.loadURI(url2, tabTest.browser);
- yield promiseBrowserEvent(tabTest.browser, "DOMContentLoaded");
- is(tabTest.browser.currentURI.spec, url2, "Test tab is showing the second URL.");
-
- // Switch to the other tab
- BrowserApp.selectTab(tabBlank);
- yield promiseTabEvent(BrowserApp.deck, "TabSelect");
- is(BrowserApp.selectedTab, tabBlank, "Test tab is in background.");
-
- // Zombify the backgrounded test tab again
- MemoryObserver.zombify(tabTest);
-
- // Check that the test tab is actually zombified
- ok(tabTest.browser.__SS_restore, "Test tab is set for delay loading.");
-
- // Switch back to the test tab and wait for it to reload
- BrowserApp.selectTab(tabTest);
- yield promiseBrowserEvent(tabTest.browser, "DOMContentLoaded");
-
- // Check that the test tab has loaded the correct url
- is(tabTest.browser.currentURI.spec, url2, "Test tab is showing the second URL.");
- });
-
- add_task(function* test_sessionStoreKeepAsZombie() {
- chromeWin = Services.wm.getMostRecentWindow("navigator:browser");
- let BrowserApp = chromeWin.BrowserApp;
- let observerService = Services.obs;
-
- SimpleTest.registerCleanupFunction(function() {
- BrowserApp.closeTab(tabBlank);
- BrowserApp.closeTab(tabTest);
- });
-
- // Add a new tab with some content
- tabTest = BrowserApp.addTab(url1 , { selected: true, parentId: BrowserApp.selectedTab.id });
- yield promiseBrowserEvent(tabTest.browser, "DOMContentLoaded");
-
- // Add a new tab with a blank page
- tabBlank = BrowserApp.addTab("about:blank", { selected: true, parentId: BrowserApp.selectedTab.id });
- yield promiseTabEvent(BrowserApp.deck, "TabSelect");
- is(BrowserApp.selectedTab, tabBlank, "Test tab is in background.");
-
- // Zombify the backgrounded test tab
- MemoryObserver.zombify(tabTest);
-
- // Check that the test tab is actually zombified
- ok(tabTest.browser.__SS_restore, "Test tab is set for delay loading.");
- is(tabTest.browser.currentURI.spec, "about:blank", "Test tab is zombified.");
-
- // Tell the session store that it shouldn't restore that tab on selecting
- observerService.notifyObservers(null, "Tab:KeepZombified", tabTest.id);
-
- // Switch back to the test tab and check that it remains zombified
- BrowserApp.selectTab(tabTest);
- yield promiseTabEvent(BrowserApp.deck, "TabSelect");
- is(BrowserApp.selectedTab, tabTest, "Test tab is selected.");
- ok(tabTest.browser.__SS_restore, "Test tab is still set for delay loading.");
-
- // Switch to the other tab and back again
- BrowserApp.selectTab(tabBlank);
- yield promiseTabEvent(BrowserApp.deck, "TabSelect");
- is(BrowserApp.selectedTab, tabBlank, "Test tab is in background.");
- BrowserApp.selectTab(tabTest);
-
- // "Tab:KeepZombified should be good for one TabSelect only
- yield promiseBrowserEvent(tabTest.browser, "DOMContentLoaded");
- is(BrowserApp.selectedTab, tabTest, "Test tab is selected.");
-
- // Check that the test tab is no longer a zombie and has loaded the correct url
- ok(!tabTest.browser.__SS_restore, "Test tab is no longer set for delay loading.");
- is(tabTest.browser.currentURI.spec, url1, "Test tab is showing the test URL.");
-
- // Zombify the test tab again
- BrowserApp.selectTab(tabBlank);
- yield promiseTabEvent(BrowserApp.deck, "TabSelect");
- is(BrowserApp.selectedTab, tabBlank, "Test tab is in background.");
- MemoryObserver.zombify(tabTest);
- ok(tabTest.browser.__SS_restore, "Test tab is set for delay loading.");
- is(tabTest.browser.currentURI.spec, "about:blank", "Test tab is zombified.");
-
- // Tell the session store that it shouldn't restore that tab on selecting
- observerService.notifyObservers(null, "Tab:KeepZombified", tabTest.id);
-
- // Switch back to the test tab and check that it remains zombified
- BrowserApp.selectTab(tabTest);
- yield promiseTabEvent(BrowserApp.deck, "TabSelect");
- is(BrowserApp.selectedTab, tabTest, "Test tab is selected.");
- ok(tabTest.browser.__SS_restore, "Test tab is still set for delay loading.");
-
- // Fake an "application-foreground" notification
- observerService.notifyObservers(null, "application-foreground", null);
-
- // The test tab should now start reloading
- yield promiseBrowserEvent(tabTest.browser, "DOMContentLoaded");
- ok(!tabTest.browser.__SS_restore, "Test tab is no longer set for delay loading.");
- is(tabTest.browser.currentURI.spec, url1, "Test tab is showing the test URL.");
- });
-
- </script>
-</head>
-<body>
-<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1044556">Mozilla Bug 1044556</a>
-<p id="display"></p>
-<div id="content" style="display: none">
-
-</div>
-<pre id="test">
-</pre>
-</body>
-</html>