diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 00:47:55 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 00:47:55 +0000 |
commit | 26a029d407be480d791972afb5975cf62c9360a6 (patch) | |
tree | f435a8308119effd964b339f76abb83a57c29483 /browser/base/content/test/general/browser_bug567306.js | |
parent | Initial commit. (diff) | |
download | firefox-26a029d407be480d791972afb5975cf62c9360a6.tar.xz firefox-26a029d407be480d791972afb5975cf62c9360a6.zip |
Adding upstream version 124.0.1.upstream/124.0.1
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 | 65 |
1 files changed, 65 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..3d3e47e17d --- /dev/null +++ b/browser/base/content/test/general/browser_bug567306.js @@ -0,0 +1,65 @@ +/* Any copyright is dedicated to the Public Domain. + * http://creativecommons.org/publicdomain/zero/1.0/ + */ + +var HasFindClipboard = Services.clipboard.isClipboardTypeSupported( + Services.clipboard.kFindClipboard +); + +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( + Services.io.newURI("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); +}); |