summaryrefslogtreecommitdiffstats
path: root/browser/base/content/test/general/browser_zbug569342.js
diff options
context:
space:
mode:
Diffstat (limited to 'browser/base/content/test/general/browser_zbug569342.js')
-rw-r--r--browser/base/content/test/general/browser_zbug569342.js80
1 files changed, 80 insertions, 0 deletions
diff --git a/browser/base/content/test/general/browser_zbug569342.js b/browser/base/content/test/general/browser_zbug569342.js
new file mode 100644
index 000000000..2dac5acde
--- /dev/null
+++ b/browser/base/content/test/general/browser_zbug569342.js
@@ -0,0 +1,80 @@
+/* Any copyright is dedicated to the Public Domain.
+ * http://creativecommons.org/publicdomain/zero/1.0/
+ */
+
+var gTab = null;
+
+function load(url, cb) {
+ gTab = gBrowser.addTab(url);
+ gBrowser.addEventListener("load", function (event) {
+ if (event.target.location != url)
+ return;
+
+ gBrowser.removeEventListener("load", arguments.callee, true);
+ // Trigger onLocationChange by switching tabs.
+ gBrowser.selectedTab = gTab;
+ cb();
+ }, true);
+}
+
+function test() {
+ waitForExplicitFinish();
+
+ ok(gFindBar.hidden, "Find bar should not be visible by default");
+
+ // Open the Find bar before we navigate to pages that shouldn't have it.
+ EventUtils.synthesizeKey("f", { accelKey: true });
+ ok(!gFindBar.hidden, "Find bar should be visible");
+
+ nextTest();
+}
+
+var urls = [
+ "about:config",
+ "about:addons",
+];
+
+function nextTest() {
+ let url = urls.shift();
+ if (url) {
+ testFindDisabled(url, nextTest);
+ } else {
+ // Make sure the find bar is re-enabled after disabled page is closed.
+ testFindEnabled("about:blank", function () {
+ EventUtils.synthesizeKey("VK_ESCAPE", { });
+ ok(gFindBar.hidden, "Find bar should now be hidden");
+ finish();
+ });
+ }
+}
+
+function testFindDisabled(url, cb) {
+ load(url, function() {
+ ok(gFindBar.hidden, "Find bar should not be visible");
+ EventUtils.synthesizeKey("/", {}, gTab.linkedBrowser.contentWindow);
+ ok(gFindBar.hidden, "Find bar should not be visible");
+ EventUtils.synthesizeKey("f", { accelKey: true });
+ ok(gFindBar.hidden, "Find bar should not be visible");
+ ok(document.getElementById("cmd_find").getAttribute("disabled"),
+ "Find command should be disabled");
+
+ gBrowser.removeTab(gTab);
+ cb();
+ });
+}
+
+function testFindEnabled(url, cb) {
+ load(url, function() {
+ ok(!document.getElementById("cmd_find").getAttribute("disabled"),
+ "Find command should not be disabled");
+
+ // Open Find bar and then close it.
+ EventUtils.synthesizeKey("f", { accelKey: true });
+ ok(!gFindBar.hidden, "Find bar should be visible again");
+ EventUtils.synthesizeKey("VK_ESCAPE", { });
+ ok(gFindBar.hidden, "Find bar should now be hidden");
+
+ gBrowser.removeTab(gTab);
+ cb();
+ });
+}