Source code

Revision control

Copy as Markdown

Other Tools

Test Info: Warnings

<!DOCTYPE html>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<title>Cookies are sent on same origin violation reports</title>
<!-- CSP headers
Content-Security-Policy: script-src 'unsafe-inline' 'self'; img-src 'none'; report-uri /reporting/resources/{{$id}}
var test = async_test("Image should not load");
"/cookies/resources/" + encodeURIComponent("/"),
{mode: 'no-cors', credentials: 'include'})
.then(() => {
// Loading `img` will generate a CSP violation report.
// As this test is for covering the behavior of the deprecated "report-uri" directive [1], the
// underlying report is backed by a browser-initiated fetch "keepalive" request [2]. Per
// keepalive spec [3], such request may outlive this entire document itself. Hence, the cookie
// this test wants to test, i.e. "cspViolationReportCookie2", must NOT be cleared before the
// browser entirely sending out the report request.
const img = new Image();
img.onerror = test.step_func_done();
img.onload = test.unreached_func("Should not have loaded the image");
img.src = "../support/fail.png";
<script async defer src='../support/checkReport.sub.js?reportField=violated-directive&reportValue=img-src%20%27none%27&cookiePresent=cspViolationReportCookie2'></script>