OLD | NEW |
(Empty) | |
| 1 <!DOCTYPE html> |
| 2 <html> |
| 3 |
| 4 <head> |
| 5 <!-- Programmatically converted from a WebKit Reftest, please forgive result
ing idiosyncracies.--> |
| 6 <title>worker-connect-src-blocked</title> |
| 7 <script src="/resources/testharness.js"></script> |
| 8 <script src="/resources/testharnessreport.js"></script> |
| 9 <script src="../support/logTest.sub.js?logs=[]"></script> |
| 10 <script src='../support/alertAssert.sub.js?alerts=["xhr blocked","TEST COMPL
ETE"]'></script> |
| 11 <!-- enforcing policy: |
| 12 connect-src 'self'; script-src 'self' 'unsafe-inline' blob:; |
| 13 --> |
| 14 |
| 15 </head> |
| 16 <p>This test loads a worker, from a guid. |
| 17 The worker should be blocked from making an XHR |
| 18 to www1 as this resource's policy is connect-src 'self |
| 19 and a guid Worker should inherit is parent's policy. |
| 20 A report should be sent to the report-uri specified |
| 21 with this resource.</p> |
| 22 <body> |
| 23 <script> |
| 24 try { |
| 25 var blob = new Blob([ |
| 26 "var xhr = new XMLHttpRequest;" + |
| 27 "xhr.onerror = function () {" + |
| 28 " postMessage('xhr blocked');" + |
| 29 " postMessage('TEST COMPLETE');" + |
| 30 "};" + |
| 31 "xhr.onload = function () {" + |
| 32 " if (xhr.responseText == 'FAIL') {" + |
| 33 " postMessage('xhr allowed');" + |
| 34 " } else {" + |
| 35 " postMessage('xhr blocked');" + |
| 36 " }" + |
| 37 " postMessage('TEST COMPLETE');" + |
| 38 "};" + |
| 39 "try { " + |
| 40 " xhr.open(" + |
| 41 " 'GET'," + |
| 42 " 'http://www1.{{host}}:{{ports[http][0]}}/content-security-po
licy/support/fail.asis'," + |
| 43 " true" + |
| 44 " );" + |
| 45 " xhr.send();" + |
| 46 "} catch (e) {" + |
| 47 " postMessage('xhr blocked');" + |
| 48 " postMessage('TEST COMPLETE');" + |
| 49 "}"], |
| 50 {type : 'application/javascript'}); |
| 51 var url = URL.createObjectURL(blob); |
| 52 var worker = new Worker(url); |
| 53 worker.onmessage = function(event) { |
| 54 alert_assert(event.data); |
| 55 }; |
| 56 } catch (e) { |
| 57 alert_assert(e); |
| 58 } |
| 59 |
| 60 </script> |
| 61 <div id="log"></div> |
| 62 <script async defer src="../support/checkReport.sub.js?reportExists=true&am
p;reportField=violated-directive&reportValue=connect-src%20'self'"
></script> |
| 63 </body> |
| 64 |
| 65 </html> |
OLD | NEW |