Backed out changeset 76788d4f83ce (bug 1277803)

CLOSED TREE
This commit is contained in:
Iris Hsiao 2016-10-07 11:23:40 +08:00
parent 9f7702add7
commit 596b8e86ce
5 changed files with 0 additions and 117 deletions

View File

@ -1,11 +0,0 @@
<html>
<head>
<link rel='icon' href='favicon_bug1277803.ico'>
</head>
<body>
Nothing to see here...
</body>
</html>

View File

@ -1,6 +0,0 @@
[DEFAULT]
support-files =
favicon_bug1277803.ico
bug1277803.html
[test_bug1277803.xul]

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

View File

@ -1,99 +0,0 @@
<?xml version="1.0"?>
<?xml-stylesheet href="chrome://global/skin" type="text/css"?>
<?xml-stylesheet href="chrome://mochikit/content/tests/SimpleTest/test.css" type="text/css"?>
<window title="Bug 1277803 test"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
width="600"
height="600"
onload="runTest();">
<script type="application/javascript"
src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"/>
<body xmlns="http://www.w3.org/1999/xhtml">
</body>
<script type="application/javascript"><![CDATA[
SimpleTest.requestCompleteLog();
let Ci = Components.interfaces;
let Cc = Components.classes;
let Cu = Components.utils;
let makeURI = Cu.import("resource://gre/modules/BrowserUtils.jsm", {}).BrowserUtils.makeURI;
const BASE_URI = "http://mochi.test:8888/chrome/dom/security/test/general/";
const FAVICON_URI = BASE_URI + "favicon_bug1277803.ico";
const LOADING_URI = BASE_URI + "bug1277803.html";
let testWindow; //will be used to trigger favicon load
let securityManager = Cc["@mozilla.org/scriptsecuritymanager;1"].
getService(Ci.nsIScriptSecurityManager);
let expectedPrincipal = securityManager.createCodebasePrincipal(makeURI(LOADING_URI), {});
let systemPrincipal = Cc["@mozilla.org/systemprincipal;1"].createInstance();
// We expect 2 favicon loads, one from PlacesUIUtils.loadFavicon and one
// from XUL:image loads.
let requestXUL = false;
let requestPlaces = false;
function runTest() {
// Register our observer to intercept favicon requests.
let os = Cc["@mozilla.org/observer-service;1"].
getService(Ci.nsIObserverService);
let observer = {
observe: function(aSubject, aTopic, aData)
{
// Make sure this is a favicon request.
let httpChannel = aSubject.QueryInterface(Ci.nsIHttpChannel);
if (FAVICON_URI != httpChannel.URI.spec) {
return;
}
// Ensure the topic is the one we set an observer for.
is(aTopic, "http-on-modify-request", "Expected observer topic");
// Check for the correct loadingPrincipal, triggeringPrincipal.
let triggeringPrincipal = httpChannel.loadInfo.triggeringPrincipal;
let loadingPrincipal = httpChannel.loadInfo.loadingPrincipal;
if (loadingPrincipal.equals(systemPrincipal)) {
// This is the favicon loading from XUL, which will have the system
// principal as its loading principal and have a content principal
// as its triggering principal.
ok(triggeringPrincipal.equals(expectedPrincipal),
"Correct triggeringPrincipal for favicon from XUL.");
requestXUL = true;
} else if (loadingPrincipal.equals(expectedPrincipal)) {
// This is the favicon loading from Places, which will have a
// content principal as its loading principal and triggering
// principal.
ok(triggeringPrincipal.equals(expectedPrincipal),
"Correct triggeringPrincipal for favicon from Places.");
requestPlaces = true;
} else {
ok(false, "An unexpected favicon request.")
}
// Cleanup after ourselves...
if (requestXUL && requestPlaces) {
os.removeObserver(this, "http-on-modify-request");
SimpleTest.finish();
}
}
}
os.addObserver(observer, "http-on-modify-request", false);
// Now that the observer is set up, trigger a favicon load with navigation
testWindow = window.open(LOADING_URI);
}
SimpleTest.waitForExplicitFinish();
SimpleTest.registerCleanupFunction(function() {
if (testWindow) {
testWindow.close();
}
});
]]></script>
<browser type="content-primary" flex="1" id="content" src="about:blank"/>
</window>

View File

@ -22,7 +22,6 @@ MOCHITEST_MANIFESTS += [
MOCHITEST_CHROME_MANIFESTS += [
'csp/chrome.ini',
'general/chrome.ini',
]
BROWSER_CHROME_MANIFESTS += [