summaryrefslogtreecommitdiffstats
path: root/dom/browser-element/mochitest/browserElement_SetVisibleFrames2.js
diff options
context:
space:
mode:
Diffstat (limited to 'dom/browser-element/mochitest/browserElement_SetVisibleFrames2.js')
-rw-r--r--dom/browser-element/mochitest/browserElement_SetVisibleFrames2.js55
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);