diff options
Diffstat (limited to 'browser/base/content/test/forms/head.js')
-rw-r--r-- | browser/base/content/test/forms/head.js | 20 |
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; +} |