49 lines
1.7 KiB
HTML
49 lines
1.7 KiB
HTML
<!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 'self';">
|
|
<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>
|
|
<script src='../support/alertAssert.sub.js?alerts=[]'></script>
|
|
</head>
|
|
<p>This test loads a worker, from a guid.
|
|
The worker should be blocked from loading with a child-src policy of 'self'
|
|
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) {
|
|
alert_assert(event.data);
|
|
};
|
|
worker.onerror = function(event) {
|
|
log('TEST COMPLETE');
|
|
event.preventDefault();
|
|
}
|
|
} catch (e) {
|
|
log('TEST COMPLETE');
|
|
}
|
|
function timeout() {
|
|
log('TEST COMPLETE');
|
|
}
|
|
</script>
|
|
<div id="log"></div>
|
|
</body>
|
|
|
|
</html>
|