blob: bdafb730bf380ab0a99ea9698241938583540016 [file] [log] [blame]
<html>
<body>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/resources/get-host-info.js"></script>
<script>
const {HTTPS_REMOTE_ORIGIN} = get_host_info();
if (location.protocol == 'http') {
location.protocol = 'https';
} else {
promise_test(async (t) => {
frame = document.createElement('frame');
frame.src = 'resources/empty-coep.php';
document.body.appendChild(frame);
await new Promise((r) => frame.onload = r);
const url = `${HTTPS_REMOTE_ORIGIN}/resources/dummy.txt`;
const script = `
fetch('${url}', {mode: 'no-cors'}).catch(() => {});
`;
const worker = new frame.contentWindow.Worker(
'data:text/html,' + encodeURIComponent(script));
const reports = await new Promise((resolve) => {
const observer = new frame.contentWindow.ReportingObserver((reports) => {
resolve(reports.map(r => r.toJSON()));
});
observer.observe();
});
assert_equals(reports.length, 1);
assert_equals(reports[0].type, 'coep');
assert_equals(reports[0].url, frame.src);
assert_equals(reports[0].body.type, 'corp');
assert_equals(reports[0].body['blockedURL'], url);
}, 'COEP reports made by DedicatedWorker is reported to the owner document');
}
</script>
</body>
</html>