| <!DOCTYPE HTML> |
| <html> |
| |
| <head> |
| <title>Scripts injected via `new Function()` are not allowed with `strict-dynamic` without `unsafe-eval`.</title> |
| <script src='/resources/testharness.js' nonce='dummy'></script> |
| <script src='/resources/testharnessreport.js' nonce='dummy'></script> |
| |
| <!-- CSP served: script-src 'strict-dynamic' 'nonce-dummy' --> |
| </head> |
| |
| <body> |
| <h1>Scripts injected via `new Function()` are not allowed with `strict-dynamic` without `unsafe-eval`.</h1> |
| <div id='log'></div> |
| |
| <script nonce='dummy'> |
| var newFunctionScriptRan = false; |
| |
| async_test(function(t) { |
| window.addEventListener('securitypolicyviolation', t.step_func_done(function(e) { |
| assert_false(newFunctionScriptRan); |
| assert_equals(e.effectiveDirective, 'script-src'); |
| })); |
| |
| assert_throws(new Error(), |
| function() { |
| try { |
| new Function('newFunctionScriptRan = true;')(); |
| } catch (e) { |
| throw new Error(); |
| } |
| }); |
| }, "Script injected via 'eval' is not allowed with 'strict-dynamic' without 'unsafe-eval'."); |
| </script> |
| </body> |
| |
| </html> |