From 5f8de423f190bbb79a62f804151bc24824fa32d8 Mon Sep 17 00:00:00 2001 From: "Matt A. Tobin" Date: Fri, 2 Feb 2018 04:16:08 -0500 Subject: Add m-esr52 at 52.6.0 --- .../base/content/test/general/browser_bug595507.js | 36 ++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 browser/base/content/test/general/browser_bug595507.js (limited to 'browser/base/content/test/general/browser_bug595507.js') diff --git a/browser/base/content/test/general/browser_bug595507.js b/browser/base/content/test/general/browser_bug595507.js new file mode 100644 index 000000000..54ae42346 --- /dev/null +++ b/browser/base/content/test/general/browser_bug595507.js @@ -0,0 +1,36 @@ +/** + * Make sure that the form validation error message shows even if the form is in an iframe. + */ +add_task(function* () { + let uri = "
\""; + + var gInvalidFormPopup = document.getElementById('invalid-form-popup'); + ok(gInvalidFormPopup, + "The browser should have a popup to show when a form is invalid"); + + let tab = gBrowser.addTab(); + let browser = gBrowser.getBrowserForTab(tab); + gBrowser.selectedTab = tab; + + yield promiseTabLoadEvent(tab, "data:text/html," + escape(uri)); + + let popupShownPromise = promiseWaitForEvent(gInvalidFormPopup, "popupshown"); + + yield ContentTask.spawn(browser, {}, function* () { + content.document.getElementsByTagName('iframe')[0] + .contentDocument.getElementById('s').click(); + }); + yield popupShownPromise; + + yield ContentTask.spawn(browser, {}, function* () { + let childdoc = content.document.getElementsByTagName('iframe')[0].contentDocument; + Assert.equal(childdoc.activeElement, childdoc.getElementById("i"), + "First invalid element should be focused"); + }); + + ok(gInvalidFormPopup.state == 'showing' || gInvalidFormPopup.state == 'open', + "The invalid form popup should be shown"); + + gBrowser.removeCurrentTab(); +}); + -- cgit v1.2.3