Index: third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_javascript_uri.html |
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_javascript_uri.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_javascript_uri.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..3a6151b10f3897eaacf1414757431693242240a5 |
--- /dev/null |
+++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_javascript_uri.html |
@@ -0,0 +1,32 @@ |
+<!DOCTYPE HTML> |
+<html> |
+ |
+<head> |
+ <title>Script injected via `javascript:` URIs are not allowed with `strict-dynamic`.</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>Script injected via `javascript:` URIs are not allowed with `strict-dynamic`.</h1> |
+ <div id='log'></div> |
+ <a id='javascriptUri' href='javascript:javascriptUriScriptRan = true;'></a> |
+ |
+ <script nonce='dummy'> |
+ var javascriptUriScriptRan = false; |
+ |
+ async_test(function(t) { |
+ window.addEventListener('securitypolicyviolation', t.step_func_done(function(e) { |
+ assert_false(javascriptUriScriptRan); |
+ assert_equals(e.effectiveDirective, 'script-src'); |
+ })); |
+ |
+ document.getElementById('javascriptUri').click(); |
+ assert_false(javascriptUriScriptRan); |
+ }, "Script injected via `javascript:` URIs are not allowed with `strict-dynamic`."); |
+ </script> |
+</body> |
+ |
+</html> |