diff options
Diffstat (limited to 'browser/base/content/test/general/browser_bug567306.js')
-rw-r--r-- | browser/base/content/test/general/browser_bug567306.js | 50 |
1 files changed, 50 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 000000000..742ff6726 --- /dev/null +++ b/browser/base/content/test/general/browser_bug567306.js @@ -0,0 +1,50 @@ +/* Any copyright is dedicated to the Public Domain. + * http://creativecommons.org/publicdomain/zero/1.0/ + */ + +var {Ci: interfaces, Cc: classes} = Components; + +var Clipboard = Cc["@mozilla.org/widget/clipboard;1"].getService(Ci.nsIClipboard); +var HasFindClipboard = Clipboard.supportsFindClipboard(); + +add_task(function* () { + let newwindow = yield BrowserTestUtils.openNewBrowserWindow(); + + let selectedBrowser = newwindow.gBrowser.selectedBrowser; + yield new Promise((resolve, reject) => { + selectedBrowser.addEventListener("pageshow", function pageshowListener() { + if (selectedBrowser.currentURI.spec == "about:blank") + return; + + selectedBrowser.removeEventListener("pageshow", pageshowListener, true); + ok(true, "pageshow listener called: " + newwindow.content.location); + resolve(); + }, true); + selectedBrowser.loadURI("data:text/html,<h1 id='h1'>Select Me</h1>"); + }); + + yield SimpleTest.promiseFocus(newwindow); + + ok(!newwindow.gFindBarInitialized, "find bar is not yet initialized"); + let findBar = newwindow.gFindBar; + + yield ContentTask.spawn(selectedBrowser, { }, 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); + }); + + yield 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(); + yield promiseWindowClosed(newwindow); +}); + |