Index: third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_eval.html |
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_eval.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_eval.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..62fda4f3d23051be27e377c4bfb3699068ba0460 |
--- /dev/null |
+++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_eval.html |
@@ -0,0 +1,37 @@ |
+<!DOCTYPE HTML> |
+<html> |
+ |
+<head> |
+ <title>Scripts injected via `eval` 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 `eval` are not allowed with `strict-dynamic` without `unsafe-eval`.</h1> |
+ <div id='log'></div> |
+ |
+ <script nonce='dummy'> |
+ var evalScriptRan = false; |
+ |
+ async_test(function(t) { |
+ window.addEventListener('securitypolicyviolation', t.step_func_done(function(e) { |
+ assert_false(evalScriptRan); |
+ assert_equals(e.effectiveDirective, 'script-src'); |
+ })); |
+ |
+ assert_throws(new Error(), |
+ function() { |
+ try { |
+ eval("evalScriptRan = true;"); |
+ } catch (e) { |
+ throw new Error(); |
+ } |
+ }); |
+ }, "Script injected via `eval` is not allowed with `strict-dynamic` without `unsafe-eval`."); |
+ </script> |
+</body> |
+ |
+</html> |