--- a/mobile/android/tests/browser/chrome/test_selectoraddtab.html
+++ b/mobile/android/tests/browser/chrome/test_selectoraddtab.html
@@ -17,70 +17,81 @@ https://bugzilla.mozilla.org/show_bug.cg
const { classes: Cc, interfaces: Ci, utils: Cu } = Components;
Cu.import("resource://gre/modules/Services.jsm");
Cu.import("resource://gre/modules/Messaging.jsm");
Cu.import("resource://gre/modules/Task.jsm");
// The chrome window
- let chromeWin;
+ let chromeWin = Services.wm.getMostRecentWindow("navigator:browser");
+ let BrowserApp = chromeWin.BrowserApp;
+
+ // Track the tabs where the tests are happening
+ let tabBlank;
+ let tabTest;
- // Track the <browser>s where the tests are happening
- let browserBlank;
- let browserTest;
+ function cleanupTabs() {
+ if (tabBlank) {
+ BrowserApp.closeTab(tabBlank);
+ tabBlank = null;
+ }
+
+ if (tabTest) {
+ BrowserApp.closeTab(tabTest);
+ tabTest = null;
+ }
+ }
+
+ SimpleTest.registerCleanupFunction(function() {
+ cleanupTabs();
+ });
const kTestPage = "http://mochi.test:8888/chrome/mobile/android/tests/browser/chrome/basic_article.html";
add_task(function* test_selectOrAdd() {
- chromeWin = Services.wm.getMostRecentWindow("navigator:browser");
- let BrowserApp = chromeWin.BrowserApp;
+ // Add a new tab with a blank page
+ tabBlank = BrowserApp.addTab("about:blank", { selected: true, parentId: BrowserApp.selectedTab.id });
- SimpleTest.registerCleanupFunction(function() {
- BrowserApp.closeTab(BrowserApp.getTabForBrowser(browserBlank));
- BrowserApp.closeTab(BrowserApp.getTabForBrowser(browserTest));
- });
-
- // Add a new tab with a blank page
- browserBlank = BrowserApp.addTab("about:blank", { selected: true, parentId: BrowserApp.selectedTab.id }).browser;
-
- // Now, let's force the target browser to be added
- browserTest = BrowserApp.selectOrAddTab(kTestPage, { selected: true, parentId: BrowserApp.selectedTab.id }).browser;
- yield promiseBrowserEvent(browserTest, "DOMContentLoaded");
+ // Now, let's force the target tab to be added
+ tabTest = BrowserApp.selectOrAddTab(kTestPage, { selected: true, parentId: BrowserApp.selectedTab.id });
+ yield promiseBrowserEvent(tabTest.browser, "DOMContentLoaded");
// Check that basic_article is now selected
- is(BrowserApp.selectedBrowser, browserTest, "Target browser is selected after being added.");
+ is(BrowserApp.selectedBrowser, tabTest.browser, "Target tab is selected after being added.");
// Switch back to about:blank
- BrowserApp.selectTab(BrowserApp.getTabForBrowser(browserBlank));
+ BrowserApp.selectTab(tabBlank);
yield promiseTabEvent(BrowserApp.deck, "TabSelect");
// Check that about:blank is selected
- is(BrowserApp.selectedBrowser, browserBlank, "about:blank is selected.");
+ is(BrowserApp.selectedTab, tabBlank, "about:blank is selected.");
// Use selectOrAddTab to select the existing tab
- BrowserApp.selectOrAddTab(kTestPage, { selected: true, parentId: BrowserApp.selectedTab.id }).browser;
+ BrowserApp.selectOrAddTab(kTestPage, { selected: true, parentId: BrowserApp.selectedTab.id });
yield promiseTabEvent(BrowserApp.deck, "TabSelect");
// Check that basic_article is now selected
- is(BrowserApp.selectedBrowser, browserTest, "Target browser is selected.");
+ is(BrowserApp.selectedTab, tabTest, "Target tab is selected.");
// Switch back to about:blank
- BrowserApp.selectTab(BrowserApp.getTabForBrowser(browserBlank));
+ BrowserApp.selectTab(tabBlank);
yield promiseTabEvent(BrowserApp.deck, "TabSelect");
// Check that about:blank is selected
- is(BrowserApp.selectedBrowser, browserBlank, "about:blank is selected.");
+ is(BrowserApp.selectedTab, tabBlank, "about:blank is selected.");
// Use selectOrAddTab to select the existing tab using the startsWith flag
- BrowserApp.selectOrAddTab(kTestPage, { selected: true, parentId: BrowserApp.selectedTab.id }, { startsWith: kTestPage }).browser;
+ BrowserApp.selectOrAddTab(kTestPage, { selected: true, parentId: BrowserApp.selectedTab.id }, { startsWith: kTestPage });
yield promiseTabEvent(BrowserApp.deck, "TabSelect");
// Check that basic_article is now selected
- is(BrowserApp.selectedBrowser, browserTest, "Target browser is selected.");
+ is(BrowserApp.selectedTab, tabTest, "Target tab is selected.");
+
+ cleanupTabs();
});
</script>
</head>
<body>
<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1216047">Mozilla Bug 1216047</a>
<p id="display"></p>
<div id="content" style="display: none">