| Index: third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/worker-from-guid.sub.html
|
| diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/worker-from-guid.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/worker-from-guid.sub.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..b290b82f649435c9426a8bf84f409918590cd809
|
| --- /dev/null
|
| +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/worker-from-guid.sub.html
|
| @@ -0,0 +1,65 @@
|
| +<!DOCTYPE html>
|
| +<html>
|
| +
|
| +<head>
|
| + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.-->
|
| + <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=[]"></script>
|
| + <script src='../support/alertAssert.sub.js?alerts=["xhr blocked","TEST COMPLETE"]'></script>
|
| + <!-- enforcing policy:
|
| +connect-src 'self'; script-src 'self' 'unsafe-inline' blob:;
|
| +-->
|
| +
|
| +</head>
|
| +<p>This test loads a worker, from a guid.
|
| + The worker should be blocked from making an XHR
|
| + to www1 as this resource's policy is connect-src 'self
|
| + and a guid Worker should inherit is parent's policy.
|
| + A report should be sent to the report-uri specified
|
| + with this resource.</p>
|
| +<body>
|
| + <script>
|
| + try {
|
| + var blob = new Blob([
|
| + "var xhr = new XMLHttpRequest;" +
|
| + "xhr.onerror = function () {" +
|
| + " postMessage('xhr blocked');" +
|
| + " postMessage('TEST COMPLETE');" +
|
| + "};" +
|
| + "xhr.onload = function () {" +
|
| + " if (xhr.responseText == 'FAIL') {" +
|
| + " postMessage('xhr allowed');" +
|
| + " } else {" +
|
| + " postMessage('xhr blocked');" +
|
| + " }" +
|
| + " postMessage('TEST COMPLETE');" +
|
| + "};" +
|
| + "try { " +
|
| + " xhr.open(" +
|
| + " 'GET'," +
|
| + " 'http://www1.{{host}}:{{ports[http][0]}}/content-security-policy/support/fail.asis'," +
|
| + " true" +
|
| + " );" +
|
| + " xhr.send();" +
|
| + "} catch (e) {" +
|
| + " postMessage('xhr blocked');" +
|
| + " postMessage('TEST COMPLETE');" +
|
| + "}"],
|
| + {type : 'application/javascript'});
|
| + var url = URL.createObjectURL(blob);
|
| + var worker = new Worker(url);
|
| + worker.onmessage = function(event) {
|
| + alert_assert(event.data);
|
| + };
|
| + } catch (e) {
|
| + alert_assert(e);
|
| + }
|
| +
|
| + </script>
|
| + <div id="log"></div>
|
| + <script async defer src="../support/checkReport.sub.js?reportExists=true&reportField=violated-directive&reportValue=connect-src%20'self'"></script>
|
| +</body>
|
| +
|
| +</html>
|
|
|