forked from mirrors/gecko-dev
17 lines
683 B
JavaScript
17 lines
683 B
JavaScript
function hideSelectPopup(selectPopup, mode = "enter", win = window) {
|
|
let browser = win.gBrowser.selectedBrowser;
|
|
let selectClosedPromise = ContentTask.spawn(browser, null, async function() {
|
|
Cu.import("resource://gre/modules/SelectContentHelper.jsm");
|
|
return ContentTaskUtils.waitForCondition(() => !SelectContentHelper.open);
|
|
});
|
|
|
|
if (mode == "escape") {
|
|
EventUtils.synthesizeKey("KEY_Escape", { code: "Escape" }, win);
|
|
} else if (mode == "enter") {
|
|
EventUtils.synthesizeKey("KEY_Enter", { code: "Enter" }, win);
|
|
} else if (mode == "click") {
|
|
EventUtils.synthesizeMouseAtCenter(selectPopup.lastChild, { }, win);
|
|
}
|
|
|
|
return selectClosedPromise;
|
|
}
|