<!DOCTYPE HTML >
<html >
<head >
<meta charset="utf-8" >
<title >Test fetch() rejects when CSP blocks</title >
<script src="/tests/SimpleTest/SimpleTest.js" ></script >
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
</head >
<body >
<script type="application/javascript" >
SimpleTest.waitForExplicitFinish();
function withFrame(url) {
return new Promise(resolve => {
let frame = document.createElement('iframe' );
frame .addEventListener('load' , _ => {
resolve(frame );
}, { once: true });
frame .src = url;
document.body .appendChild(frame );
});
}
function asyncTest(frame ) {
return new Promise((resolve, reject) => {
addEventListener('message' , evt => {
if (evt.data === 'REJECTED' ) {
resolve();
} else {
reject();
}
}, { once: true });
frame .contentWindow.postMessage('GO' , '*' );
});
}
withFrame('file_fetch_csp_block_frame.html' ).then(frame => {
asyncTest(frame ).then(_ => {
ok(true, 'fetch rejected correctly' );
}).catch(e => {
ok(false, 'fetch resolved when it should have been CSP blocked' );
}).then(_ => {
frame .remove();
SimpleTest.finish();
});
});
</script >
</body >
</html >
Messung V0.5 C=97 H=97 G=96
¤ Dauer der Verarbeitung: 0.21 Sekunden
(vorverarbeitet)
¤
*© Formatika GbR, Deutschland