diff options
Diffstat (limited to 'dom/browser-element/mochitest/browserElement_SetVisibleFrames2.js')
-rw-r--r-- | dom/browser-element/mochitest/browserElement_SetVisibleFrames2.js | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/dom/browser-element/mochitest/browserElement_SetVisibleFrames2.js b/dom/browser-element/mochitest/browserElement_SetVisibleFrames2.js new file mode 100644 index 000000000..cf841a470 --- /dev/null +++ b/dom/browser-element/mochitest/browserElement_SetVisibleFrames2.js @@ -0,0 +1,55 @@ +/* Any copyright is dedicated to the public domain. + http://creativecommons.org/publicdomain/zero/1.0/ */ + +// Bug 762939 - Test that setting a <iframe mozbrowser> to invisible / visible +// inside an invisible <iframe mozbrowser> doesn't trigger any events. + +"use strict"; + +SimpleTest.waitForExplicitFinish(); +browserElementTestHelpers.setEnabledPref(true); + +function runTest() { + var iframe = document.createElement('iframe'); + iframe.setAttribute('mozbrowser', 'true'); + + // We need remote = false here until bug 761935 is fixed; see + // SetVisibleFrames.js for an explanation. + iframe.remote = false; + + iframe.addEventListener('mozbrowserloadend', function loadEnd(e) { + iframe.removeEventListener('mozbrowserloadend', loadEnd); + iframe.setVisible(false); + iframe.src = 'file_browserElement_SetVisibleFrames2_Outer.html'; + }); + + iframe.addEventListener('mozbrowsershowmodalprompt', function(e) { + if (e.detail.message == 'parent:finish') { + ok(true, "Got parent:finish"); + + // Give any extra events a chance to fire, then end the test. + SimpleTest.executeSoon(function() { + SimpleTest.executeSoon(function() { + SimpleTest.executeSoon(function() { + SimpleTest.executeSoon(function() { + SimpleTest.executeSoon(function() { + finish(); + }); + }); + }); + }); + }); + } + else { + ok(false, "Got unexpected message: " + e.detail.message); + } + }); + + document.body.appendChild(iframe); +} + +function finish() { + SimpleTest.finish(); +} + +addEventListener('testready', runTest); |