2012-07-23 12:59:37 -07:00
|
|
|
/* 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();
|
2013-03-28 12:51:10 -07:00
|
|
|
browserElementTestHelpers.setEnabledPref(true);
|
|
|
|
browserElementTestHelpers.addPermission();
|
2012-07-23 12:59:37 -07:00
|
|
|
|
|
|
|
function runTest() {
|
2013-06-04 19:56:42 -07:00
|
|
|
var principal = SpecialPowers.wrap(document).nodePrincipal;
|
2012-08-23 11:47:55 -07:00
|
|
|
SpecialPowers.addPermission("browser", true, { url: SpecialPowers.wrap(principal.URI).spec,
|
|
|
|
appId: principal.appId,
|
|
|
|
isInBrowserElement: true });
|
|
|
|
|
2012-07-23 12:59:37 -07:00
|
|
|
var iframe = document.createElement('iframe');
|
2013-02-26 18:26:10 -08:00
|
|
|
SpecialPowers.wrap(iframe).mozbrowser = true;
|
2012-07-23 12:59:37 -07:00
|
|
|
|
|
|
|
// 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() {
|
2012-08-23 11:47:55 -07:00
|
|
|
finish();
|
2012-07-23 12:59:37 -07:00
|
|
|
});
|
|
|
|
});
|
|
|
|
});
|
|
|
|
});
|
|
|
|
});
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
ok(false, "Got unexpected message: " + e.detail.message);
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
document.body.appendChild(iframe);
|
|
|
|
}
|
|
|
|
|
2012-08-23 11:47:55 -07:00
|
|
|
function finish() {
|
2013-06-04 19:56:42 -07:00
|
|
|
var principal = SpecialPowers.wrap(document).nodePrincipal;
|
2012-08-23 11:47:55 -07:00
|
|
|
SpecialPowers.removePermission("browser", { url: SpecialPowers.wrap(principal.URI).spec,
|
|
|
|
appId: principal.appId,
|
|
|
|
isInBrowserElement: true });
|
|
|
|
|
|
|
|
SimpleTest.finish();
|
|
|
|
}
|
|
|
|
|
2013-03-28 12:51:10 -07:00
|
|
|
addEventListener('testready', runTest);
|