diff options
Diffstat (limited to 'browser/extensions/formautofill/test/browser/head.js')
-rw-r--r-- | browser/extensions/formautofill/test/browser/head.js | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/browser/extensions/formautofill/test/browser/head.js b/browser/extensions/formautofill/test/browser/head.js index 7a58b8a202..8de8488f1f 100644 --- a/browser/extensions/formautofill/test/browser/head.js +++ b/browser/extensions/formautofill/test/browser/head.js @@ -45,6 +45,8 @@ const ADDRESS_FORM_WITH_PAGE_NAVIGATION_BUTTONS = "https://example.org" + HTTP_TEST_PATH + "address/capture_address_on_page_navigation.html"; +const FORM_IFRAME_SANDBOXED_URL = + "https://example.org" + HTTP_TEST_PATH + "autocomplete_iframe_sandboxed.html"; const CREDITCARD_FORM_URL = "https://example.org" + HTTP_TEST_PATH + @@ -253,7 +255,7 @@ async function ensureNoAutocompletePopup(browser) { ok(!items.length, "Should not find autocomplete items"); } -async function ensureNoDoorhanger(browser) { +async function ensureNoDoorhanger() { await new Promise(resolve => setTimeout(resolve, TIMEOUT_ENSURE_DOORHANGER_NOT_SHOWN) ); @@ -316,7 +318,7 @@ async function waitForAutofill(target, selector, value) { * @returns {Promise} resolves when the sub dialog is loaded */ function waitForSubDialogLoad(win, dialogUrl) { - return new Promise((resolve, reject) => { + return new Promise(resolve => { win.gSubDialog._dialogStack.addEventListener( "dialogopen", async function dialogopen(evt) { @@ -395,6 +397,14 @@ async function focusUpdateSubmitForm(target, args, submit = true) { element = form.querySelector(selector); if (content.HTMLInputElement.isInstance(element)) { element.setUserInput(value); + } else if ( + content.HTMLSelectElement.isInstance(element) && + Array.isArray(value) + ) { + element.multiple = true; + [...element.options].forEach(option => { + option.selected = value.includes(option.value); + }); } else { element.value = value; } |