summaryrefslogtreecommitdiffstats
path: root/browser/base/content/test/forms/head.js
diff options
context:
space:
mode:
Diffstat (limited to 'browser/base/content/test/forms/head.js')
-rw-r--r--browser/base/content/test/forms/head.js20
1 files changed, 20 insertions, 0 deletions
diff --git a/browser/base/content/test/forms/head.js b/browser/base/content/test/forms/head.js
new file mode 100644
index 0000000000..4776639054
--- /dev/null
+++ b/browser/base/content/test/forms/head.js
@@ -0,0 +1,20 @@
+function hideSelectPopup(selectPopup, mode = "enter", win = window) {
+ let browser = win.gBrowser.selectedBrowser;
+ let selectClosedPromise = SpecialPowers.spawn(browser, [], async function() {
+ let { SelectContentHelper } = ChromeUtils.import(
+ "resource://gre/actors/SelectChild.jsm",
+ null
+ );
+ return ContentTaskUtils.waitForCondition(() => !SelectContentHelper.open);
+ });
+
+ if (mode == "escape") {
+ EventUtils.synthesizeKey("KEY_Escape", {}, win);
+ } else if (mode == "enter") {
+ EventUtils.synthesizeKey("KEY_Enter", {}, win);
+ } else if (mode == "click") {
+ EventUtils.synthesizeMouseAtCenter(selectPopup.lastElementChild, {}, win);
+ }
+
+ return selectClosedPromise;
+}