summaryrefslogtreecommitdiffstats
path: root/browser/base/content/test/general/browser_bug495058.js
diff options
context:
space:
mode:
Diffstat (limited to 'browser/base/content/test/general/browser_bug495058.js')
-rw-r--r--browser/base/content/test/general/browser_bug495058.js38
1 files changed, 38 insertions, 0 deletions
diff --git a/browser/base/content/test/general/browser_bug495058.js b/browser/base/content/test/general/browser_bug495058.js
new file mode 100644
index 000000000..a82c6c931
--- /dev/null
+++ b/browser/base/content/test/general/browser_bug495058.js
@@ -0,0 +1,38 @@
+/**
+ * Tests that the right elements of a tab are focused when it is
+ * torn out into its own window.
+ */
+
+const URIS = [
+ "about:blank",
+ "about:sessionrestore",
+ "about:privatebrowsing",
+];
+
+add_task(function*() {
+ for (let uri of URIS) {
+ let tab = gBrowser.addTab();
+ yield BrowserTestUtils.loadURI(tab.linkedBrowser, uri);
+
+ let win = gBrowser.replaceTabWithWindow(tab);
+ yield TestUtils.topicObserved("browser-delayed-startup-finished",
+ subject => subject == win);
+ tab = win.gBrowser.selectedTab;
+
+ // BrowserTestUtils doesn't get the add-on shims, which means that
+ // MozAfterPaint won't get shimmed over if we add an event handler
+ // for it in the parent.
+ if (tab.linkedBrowser.isRemoteBrowser) {
+ yield BrowserTestUtils.waitForContentEvent(tab.linkedBrowser, "MozAfterPaint");
+ } else {
+ yield BrowserTestUtils.waitForEvent(tab.linkedBrowser, "MozAfterPaint");
+ }
+
+ Assert.equal(win.gBrowser.currentURI.spec, uri, uri + ": uri loaded in detached tab");
+ Assert.equal(win.document.activeElement, win.gBrowser.selectedBrowser, uri + ": browser is focused");
+ Assert.equal(win.gURLBar.value, "", uri + ": urlbar is empty");
+ Assert.ok(win.gURLBar.placeholder, uri + ": placeholder text is present");
+
+ yield BrowserTestUtils.closeWindow(win);
+ }
+});