| <!DOCTYPE html> |
| <head> |
| <meta http-equiv="content-security-policy" content="script-src 'self' 'nonce-abc'"> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| </head> |
| <body> |
| <iframe src="support/frame-with-csp.sub.html?csp=script-src%20'self'%20'unsafe-inline'"></iframe> |
| <script nonce='abc'> |
| var t = async_test("Should not have executed the javascript url"); |
| const iframe = document.querySelector("iframe"); |
| iframe.addEventListener('load', () => { |
| window.onmessage = t.step_func(function(e) { |
| if (e.data == "executed") |
| assert_true(false, "Javascript url executed"); |
| }); |
| window.addEventListener('securitypolicyviolation', t.step_func_done(function(e) { |
| assert_equals(e.blockedURI, 'inline'); |
| })); |
| iframe.contentWindow.location.href = 'javascript:parent.postMessage(\'executed\', \'*\')' |
| }); |
| </script> |
| </body> |