Source code
Revision control
Copy as Markdown
Other Tools
Test Info: Warnings
- This test has a WPT meta file that disables it given conditions:
- This WPT test may be referenced by the following Test IDs:
- /content-security-policy/blob/star-doesnt-match-blob.sub.html - WPT Dashboard Interop Dashboard
<!DOCTYPE html>
<html>
<head>
<!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.-->
<meta http-equiv="Content-Security-Policy" content="connect-src 'self'; script-src 'self' 'unsafe-inline'; child-src *;">
<title>worker-connect-src-blocked</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src='../support/logTest.sub.js?logs=["violated-directive=worker-src","TEST COMPLETE"]'></script>
</head>
<p>This test loads a worker, from a guid.
The worker should be blocked from loading with a child-src policy of *
as the blob: scheme must be specified explicitly.
A report should be sent to the report-uri specified
with this resource.</p>
<body>
<script>
window.addEventListener('securitypolicyviolation', function(e) {
log("violated-directive=" + e.violatedDirective);
});
try {
var blob = new Blob([
"postMessage('FAIL');" +
"postMessage('TEST COMPLETE');"
],
{type : 'application/javascript'});
var url = URL.createObjectURL(blob);
var worker = new Worker(url);
worker.onmessage = function(event) {
log(event.data);
};
worker.onerror = function(event) {
event.preventDefault();
log('TEST COMPLETE');
}
} catch (e) {
log('TEST COMPLETE');
}
function timeout() {
log('TEST COMPLETE');
}
</script>
<div id="log"></div>
</body>
</html>