diff options
Diffstat (limited to 'browser/base/content/test/urlbar/browser_urlbarPrivateBrowsingWindowChange.js')
-rw-r--r-- | browser/base/content/test/urlbar/browser_urlbarPrivateBrowsingWindowChange.js | 41 |
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); +}); |