<!
DOCTYPE HTML>
<
html>
<
head>
<
meta charset=
"utf-8">
<
title>Bug 1229639 - Percent encoded CSP path matching.</
title>
<
script 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:200px;height:200px;" id=
'cspframe'></
iframe>
<
script class=
"testbody" type=
"text/javascript">
// This is used to watch the blocked data bounce off CSP and allowed data
// get sent out to the wire.
function examiner() {
SpecialPowers.addObserver(this,
"csp-on-violate-policy");
SpecialPowers.addObserver(this,
"specialpowers-http-notify-request");
}
examiner.prototype = {
observe(subject, topic, data) {
if (data ===
'http://mochi.test:8888/tests/dom/security/test/csp/%24.js') {
is(topic,
"specialpowers-http-notify-request");
this.remove();
SimpleTest.finish();
}
},
// must eventually call this to remove the listener,
// or mochitests might get borked.
remove() {
SpecialPowers.removeObserver(this,
"csp-on-violate-policy");
SpecialPowers.removeObserver(this,
"specialpowers-http-notify-request");
}
}
window.examiner = new examiner();
SimpleTest.waitForExplicitFinish();
// save this for last so that our listeners are registered.
// ... this loads the testbed of good and bad requests.
document.getElementById(
'cspframe').src =
'file_bug1229639.html';
</
script>
</
pre>
</
body>
</
html>