diff options
author | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
---|---|---|
committer | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
commit | 5f8de423f190bbb79a62f804151bc24824fa32d8 (patch) | |
tree | 10027f336435511475e392454359edea8e25895d /browser/base/content/test/general/browser_bug595507.js | |
parent | 49ee0794b5d912db1f95dce6eb52d781dc210db5 (diff) | |
download | UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.gz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.lz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.xz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.zip |
Add m-esr52 at 52.6.0
Diffstat (limited to 'browser/base/content/test/general/browser_bug595507.js')
-rw-r--r-- | browser/base/content/test/general/browser_bug595507.js | 36 |
1 files changed, 36 insertions, 0 deletions
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 = "<iframe src=\"data:text/html,<iframe name='t'></iframe><form target='t' action='data:text/html,'><input required id='i'><input id='s' type='submit'></form>\"</iframe>"; + + 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(); +}); + |