diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 09:22:09 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 09:22:09 +0000 |
commit | 43a97878ce14b72f0981164f87f2e35e14151312 (patch) | |
tree | 620249daf56c0258faa40cbdcf9cfba06de2a846 /browser/base/content/test/general/browser_bug567306.js | |
parent | Initial commit. (diff) | |
download | firefox-upstream.tar.xz firefox-upstream.zip |
Adding upstream version 110.0.1.upstream/110.0.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'browser/base/content/test/general/browser_bug567306.js')
-rw-r--r-- | browser/base/content/test/general/browser_bug567306.js | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/browser/base/content/test/general/browser_bug567306.js b/browser/base/content/test/general/browser_bug567306.js new file mode 100644 index 0000000000..dc5588bc3e --- /dev/null +++ b/browser/base/content/test/general/browser_bug567306.js @@ -0,0 +1,59 @@ +/* Any copyright is dedicated to the Public Domain. + * http://creativecommons.org/publicdomain/zero/1.0/ + */ + +var HasFindClipboard = Services.clipboard.supportsFindClipboard(); + +add_task(async function() { + let newwindow = await BrowserTestUtils.openNewBrowserWindow(); + + let selectedBrowser = newwindow.gBrowser.selectedBrowser; + await new Promise((resolve, reject) => { + BrowserTestUtils.waitForContentEvent( + selectedBrowser, + "pageshow", + true, + event => { + return event.target.location != "about:blank"; + } + ).then(function pageshowListener() { + ok( + true, + "pageshow listener called: " + newwindow.gBrowser.currentURI.spec + ); + resolve(); + }); + selectedBrowser.loadURI("data:text/html,<h1 id='h1'>Select Me</h1>", { + triggeringPrincipal: Services.scriptSecurityManager.getSystemPrincipal(), + }); + }); + + await SimpleTest.promiseFocus(newwindow); + + ok(!newwindow.gFindBarInitialized, "find bar is not yet initialized"); + let findBar = await newwindow.gFindBarPromise; + + await SpecialPowers.spawn(selectedBrowser, [], async function() { + let elt = content.document.getElementById("h1"); + let selection = content.getSelection(); + let range = content.document.createRange(); + range.setStart(elt, 0); + range.setEnd(elt, 1); + selection.removeAllRanges(); + selection.addRange(range); + }); + + await findBar.onFindCommand(); + + // When the OS supports the Find Clipboard (OSX), the find field value is + // persisted across Fx sessions, thus not useful to test. + if (!HasFindClipboard) { + is( + findBar._findField.value, + "Select Me", + "Findbar is initialized with selection" + ); + } + findBar.close(); + await promiseWindowClosed(newwindow); +}); |