| <!DOCTYPE html> |
| <html> |
| |
| <head> |
| <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> |
| <meta http-equiv="Content-Security-Policy" content="script-src 'self' 'nonce-abc'; connect-src 'self';"> |
| <title>srcdoc-doesnt-bypass-script-src</title> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <script src='../support/logTest.sub.js?logs=["violated-directive=script-src-elem"]'></script> |
| </head> |
| |
| <body> |
| |
| <script nonce='abc'> |
| window.onmessage = function(e) { |
| log(e.data); |
| } |
| |
| var i = document.createElement('iframe'); |
| i.addEventListener('securitypolicyviolation', function(e) { |
| log("violated-directive=" + e.violatedDirective); |
| }); |
| |
| i.srcdoc = "<sc" + "ript nonce='abc'>" + |
| "window.addEventListener('securitypolicyviolation', function(e) {" + |
| "window.parent.postMessage('violated-directive=' + e.violatedDirective, '*');});" + |
| "</scr" + "ipt>" + |
| "<scr" + "ipt>window.parent.log('FAIL')</scr" + "ipt>"; |
| document.body.appendChild(i); |
| </script> |
| <div id="log"></div> |
| </body> |
| |
| </html> |