Also set network.disable.ipc.security to true and leave it that way. This prevents security errors in the tests which happen when we pop the pref.
54 lines
1.8 KiB
JavaScript
54 lines
1.8 KiB
JavaScript
/* Any copyright is dedicated to the public domain.
|
|
http://creativecommons.org/publicdomain/zero/1.0/ */
|
|
|
|
// Bug 780351 - Test that mozbrowser does /not/ divide the window name namespace.
|
|
// Multiple mozbrowsers inside the same app are like multiple browser tabs;
|
|
// they share a window name namespace.
|
|
|
|
"use strict";
|
|
|
|
SimpleTest.waitForExplicitFinish();
|
|
browserElementTestHelpers.setEnabledPref(true);
|
|
browserElementTestHelpers.addPermission();
|
|
|
|
function runTest() {
|
|
var iframe1 = document.createElement('iframe');
|
|
SpecialPowers.wrap(iframe1).mozbrowser = true;
|
|
|
|
// Two mozbrowser frames with the same code both do the same
|
|
// window.open("foo", "bar") call. We should only get one
|
|
// mozbrowseropenwindow event.
|
|
|
|
iframe1.addEventListener('mozbrowseropenwindow', function(e) {
|
|
ok(true, "Got first mozbrowseropenwindow event.");
|
|
document.body.appendChild(e.detail.frameElement);
|
|
|
|
e.detail.frameElement.addEventListener('mozbrowserlocationchange', function(e) {
|
|
if (e.detail == "http://example.com/#2") {
|
|
ok(true, "Got locationchange to http://example.com/#2");
|
|
SimpleTest.finish();
|
|
}
|
|
else {
|
|
ok(true, "Got locationchange to " + e.detail);
|
|
}
|
|
});
|
|
|
|
SimpleTest.executeSoon(function() {
|
|
var iframe2 = document.createElement('iframe');
|
|
SpecialPowers.wrap(iframe2).mozbrowser = true;
|
|
|
|
iframe2.addEventListener('mozbrowseropenwindow', function(e) {
|
|
ok(false, "Got second mozbrowseropenwindow event.");
|
|
});
|
|
|
|
document.body.appendChild(iframe2);
|
|
iframe2.src = 'file_browserElement_BrowserWindowNamespace.html#2';
|
|
});
|
|
});
|
|
|
|
document.body.appendChild(iframe1);
|
|
iframe1.src = 'file_browserElement_BrowserWindowNamespace.html#1';
|
|
}
|
|
|
|
addEventListener('testready', runTest);
|