Loading dom/base/test/browser.ini +1 −0 Original line number Diff line number Diff line Loading @@ -91,6 +91,7 @@ support-files = support-files = file_bug1703472.html [browser_data_documents_aboutmemory.js] [browser_form_validity_popup_submit.js] [browser_refresh_content.js] support-files = green.png Loading dom/base/test/browser_form_validity_popup_submit.js 0 → 100644 +55 −0 Original line number Diff line number Diff line /** * Any copyright is dedicated to the Public Domain. * http://creativecommons.org/publicdomain/zero/1.0/ */ "use strict"; async function promiseValidityPopupShown() { await BrowserTestUtils.waitForEvent( window, "popupshown", /* capture = */ false, event => event.target.id == "invalid-form-popup" ); return document.getElementById("invalid-form-popup"); } const HTML = ` <form action=""> <input name="text" type="text" placeholder="type here" autofocus required> <input id="submit" type="submit"> </form> `; add_task(async function bug_1790128() { await BrowserTestUtils.withNewTab( { gBrowser, url: `data:text/html,${encodeURI(HTML)}`, }, async function(aBrowser) { let promisePopupShown = promiseValidityPopupShown(); await BrowserTestUtils.synthesizeMouseAtCenter("#submit", {}, aBrowser); let popup = await promisePopupShown; is(popup.state, "open", "Should be open"); let promisePopupHidden = BrowserTestUtils.waitForEvent( popup, "popuphidden" ); promisePopupShown = promiseValidityPopupShown(); // This is written in a rather odd style because depending on whether // panel animations are enabled we might be able to show the popup again // after the first click or not. The point is that after one click the // popup should've hid at least once, and after two the popup should've // open again at least once. await BrowserTestUtils.synthesizeMouseAtCenter("#submit", {}, aBrowser); await promisePopupHidden; await BrowserTestUtils.synthesizeMouseAtCenter("#submit", {}, aBrowser); await promisePopupShown; ok(true, "Should've shown the popup again"); } ); }); Loading
dom/base/test/browser.ini +1 −0 Original line number Diff line number Diff line Loading @@ -91,6 +91,7 @@ support-files = support-files = file_bug1703472.html [browser_data_documents_aboutmemory.js] [browser_form_validity_popup_submit.js] [browser_refresh_content.js] support-files = green.png Loading
dom/base/test/browser_form_validity_popup_submit.js 0 → 100644 +55 −0 Original line number Diff line number Diff line /** * Any copyright is dedicated to the Public Domain. * http://creativecommons.org/publicdomain/zero/1.0/ */ "use strict"; async function promiseValidityPopupShown() { await BrowserTestUtils.waitForEvent( window, "popupshown", /* capture = */ false, event => event.target.id == "invalid-form-popup" ); return document.getElementById("invalid-form-popup"); } const HTML = ` <form action=""> <input name="text" type="text" placeholder="type here" autofocus required> <input id="submit" type="submit"> </form> `; add_task(async function bug_1790128() { await BrowserTestUtils.withNewTab( { gBrowser, url: `data:text/html,${encodeURI(HTML)}`, }, async function(aBrowser) { let promisePopupShown = promiseValidityPopupShown(); await BrowserTestUtils.synthesizeMouseAtCenter("#submit", {}, aBrowser); let popup = await promisePopupShown; is(popup.state, "open", "Should be open"); let promisePopupHidden = BrowserTestUtils.waitForEvent( popup, "popuphidden" ); promisePopupShown = promiseValidityPopupShown(); // This is written in a rather odd style because depending on whether // panel animations are enabled we might be able to show the popup again // after the first click or not. The point is that after one click the // popup should've hid at least once, and after two the popup should've // open again at least once. await BrowserTestUtils.synthesizeMouseAtCenter("#submit", {}, aBrowser); await promisePopupHidden; await BrowserTestUtils.synthesizeMouseAtCenter("#submit", {}, aBrowser); await promisePopupShown; ok(true, "Should've shown the popup again"); } ); });