From 6bf0a5cb5034a7e684dcc3500e841785237ce2dd Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 19:32:43 +0200 Subject: Adding upstream version 1:115.7.0. Signed-off-by: Daniel Baumann --- browser/base/content/test/forms/head.js | 51 +++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 browser/base/content/test/forms/head.js (limited to 'browser/base/content/test/forms/head.js') diff --git a/browser/base/content/test/forms/head.js b/browser/base/content/test/forms/head.js new file mode 100644 index 0000000000..1629c6a57c --- /dev/null +++ b/browser/base/content/test/forms/head.js @@ -0,0 +1,51 @@ +async function openSelectPopup( + mode = "key", + selector = "select", + win = window +) { + info("Opening select popup"); + let popupShownPromise = BrowserTestUtils.waitForSelectPopupShown(win); + if (mode == "click" || mode == "mousedown") { + let mousePromise; + if (mode == "click") { + mousePromise = BrowserTestUtils.synthesizeMouseAtCenter( + selector, + {}, + win.gBrowser.selectedBrowser + ); + } else { + mousePromise = BrowserTestUtils.synthesizeMouse( + selector, + 5, + 5, + { type: "mousedown" }, + win.gBrowser.selectedBrowser + ); + } + await mousePromise; + } else { + EventUtils.synthesizeKey("KEY_ArrowDown", { altKey: true }, win); + } + return popupShownPromise; +} + +function hideSelectPopup(mode = "enter", win = window) { + let browser = win.gBrowser.selectedBrowser; + let selectClosedPromise = SpecialPowers.spawn(browser, [], async function () { + let { SelectContentHelper } = ChromeUtils.importESModule( + "resource://gre/actors/SelectChild.sys.mjs" + ); + 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") { + let popup = win.document.getElementById("ContentSelectDropdown").menupopup; + EventUtils.synthesizeMouseAtCenter(popup.lastElementChild, {}, win); + } + + return selectClosedPromise; +} -- cgit v1.2.3