gecko/content/base/test/test_CSP_bug802872.html

59 lines
1.7 KiB
HTML

<!DOCTYPE HTML>
<html>
<head>
<title>Bug 802872</title>
<!-- Including SimpleTest.js so we can use waitForExplicitFinish !-->
<script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
</head>
<body>
<p id="display"></p>
<div id="content" style="display: none"></div>
<iframe style="width:100%;" id='eventframe'></iframe>
<script class="testbody" type="text/javascript">
SimpleTest.waitForExplicitFinish();
var finishedTests = 0;
var numberOfTests = 2;
var checkExplicitFinish = function () {
finishedTests++;
if (finishedTests == numberOfTests) {
SimpleTest.finish();
}
}
SpecialPowers.pushPrefEnv(
{'set':[["security.csp.speccompliant", true]]},
function () {
// add event listeners for CSP-permitted EventSrc callbacks
addEventListener('allowedEventSrcCallbackOK', function (e) {
ok(true, "OK: CSP allows EventSource for whitelisted domain!");
checkExplicitFinish();
}, false);
addEventListener('allowedEventSrcCallbackFailed', function (e) {
ok(false, "Error: CSP blocks EventSource for whitelisted domain!");
checkExplicitFinish();
}, false);
// add event listeners for CSP-blocked EventSrc callbacks
addEventListener('blockedEventSrcCallbackOK', function (e) {
ok(false, "Error: CSP allows EventSource to not whitelisted domain!");
checkExplicitFinish();
}, false);
addEventListener('blockedEventSrcCallbackFailed', function (e) {
ok(true, "OK: CSP blocks EventSource for not whitelisted domain!");
checkExplicitFinish();
}, false);
// load it
document.getElementById('eventframe').src = 'file_CSP_bug802872.html';
}
);
</script>
</body>
</html>