summaryrefslogtreecommitdiffstats
path: root/browser/base/content/test/urlbar/browser_urlbarPrivateBrowsingWindowChange.js
diff options
context:
space:
mode:
Diffstat (limited to 'browser/base/content/test/urlbar/browser_urlbarPrivateBrowsingWindowChange.js')
-rw-r--r--browser/base/content/test/urlbar/browser_urlbarPrivateBrowsingWindowChange.js41
1 files changed, 41 insertions, 0 deletions
diff --git a/browser/base/content/test/urlbar/browser_urlbarPrivateBrowsingWindowChange.js b/browser/base/content/test/urlbar/browser_urlbarPrivateBrowsingWindowChange.js
new file mode 100644
index 000000000..5db0f0ea6
--- /dev/null
+++ b/browser/base/content/test/urlbar/browser_urlbarPrivateBrowsingWindowChange.js
@@ -0,0 +1,41 @@
+"use strict";
+
+/**
+ * Test that when opening a private browsing window and typing in it before about:privatebrowsing
+ * loads, we don't clear the URL bar.
+ */
+add_task(function*() {
+ let urlbarTestValue = "Mary had a little lamb";
+ let win = OpenBrowserWindow({private: true});
+ yield BrowserTestUtils.waitForEvent(win, "load");
+ let urlbar = win.document.getElementById("urlbar");
+ urlbar.value = urlbarTestValue;
+ // Need this so the autocomplete controller attaches:
+ let focusEv = new FocusEvent("focus", {});
+ urlbar.dispatchEvent(focusEv);
+ // And so we know input happened:
+ let inputEv = new InputEvent("input", {data: "", view: win, bubbles: true});
+ urlbar.onInput(inputEv);
+ // Check it worked:
+ is(urlbar.value, urlbarTestValue, "URL bar value should be there");
+ is(win.gBrowser.selectedBrowser.userTypedValue, urlbarTestValue, "browser object should know the url bar value");
+
+ let continueTest;
+ let continuePromise = new Promise(resolve => continueTest = resolve);
+ let wpl = {
+ onLocationChange(aWebProgress, aRequest, aLocation) {
+ if (aLocation && aLocation.spec == "about:privatebrowsing") {
+ continueTest();
+ }
+ },
+ };
+ win.gBrowser.addProgressListener(wpl);
+
+ yield continuePromise;
+ is(urlbar.value, urlbarTestValue,
+ "URL bar value should be the same once about:privatebrowsing has loaded");
+ is(win.gBrowser.selectedBrowser.userTypedValue, urlbarTestValue,
+ "browser object should still know url bar value once about:privatebrowsing has loaded");
+ win.gBrowser.removeProgressListener(wpl);
+ yield BrowserTestUtils.closeWindow(win);
+});