summaryrefslogtreecommitdiffstats
path: root/browser/base/content/test/general/browser_bug567306.js
diff options
context:
space:
mode:
Diffstat (limited to 'browser/base/content/test/general/browser_bug567306.js')
-rw-r--r--browser/base/content/test/general/browser_bug567306.js50
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);
+});
+