diff -r 000000000000 -r 6474c204b198 docshell/test/browser/browser_bug349769.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/docshell/test/browser/browser_bug349769.js Wed Dec 31 06:09:35 2014 +0100 @@ -0,0 +1,44 @@ +function test() { + waitForExplicitFinish(); + + var newTab; + var newBrowser; + const secMan = Cc["@mozilla.org/scriptsecuritymanager;1"].getService(Ci.nsIScriptSecurityManager); + var iteration = 1; + const uris = [undefined, "about:blank"]; + var uri; + + function testLoad(event) { + newBrowser.removeEventListener("load", testLoad, true); + is (event.target, newBrowser.contentDocument, "Unexpected target"); + var prin = newBrowser.contentDocument.nodePrincipal; + isnot(prin, null, "Loaded principal must not be null when adding " + uri); + isnot(prin, undefined, "Loaded principal must not be undefined when loading " + uri); + is(secMan.isSystemPrincipal(prin), false, + "Loaded principal must not be system when loading " + uri); + gBrowser.removeTab(newTab); + + if (iteration == uris.length) { + finish(); + } else { + ++iteration; + doTest(); + } + } + + function doTest() { + uri = uris[iteration - 1]; + newTab = gBrowser.addTab(uri); + newBrowser = gBrowser.getBrowserForTab(newTab); + newBrowser.addEventListener("load", testLoad, true); + var prin = newBrowser.contentDocument.nodePrincipal; + isnot(prin, null, "Forced principal must not be null when loading " + uri); + isnot(prin, undefined, + "Forced principal must not be undefined when loading " + uri); + is(secMan.isSystemPrincipal(prin), false, + "Forced principal must not be system when loading " + uri); + } + + doTest(); +} +