Index: third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/filesystem-urls-do-not-match-self.sub.html |
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/filesystem-urls-do-not-match-self.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/filesystem-urls-do-not-match-self.sub.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..f9e814a1e3b1c763754ced89e078493709767f50 |
--- /dev/null |
+++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/filesystem-urls-do-not-match-self.sub.html |
@@ -0,0 +1,62 @@ |
+<!DOCTYPE html> |
+<html> |
+ |
+<head> |
+ <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> |
+ <title>filesystem-urls-do-not-match-self</title> |
+ <script src="/resources/testharness.js"></script> |
+ <script src="/resources/testharnessreport.js"></script> |
+ <script src="../support/logTest.sub.js?logs=[]"></script> |
+ <script src="../support/alertAssert.sub.js?alerts=[]"></script> |
+ <!-- enforcing policy: |
+script-src 'self' 'unsafe-inline' 'self'; connect-src 'self'; |
+--> |
+</head> |
+ |
+<body> |
+ <p> |
+ filesystem: URLs are same-origin with the page in which they were created, but explicitly do not match the 'self' or '*' source in CSP directives because they are more akin to 'unsafe-inline' content.. |
+ </p> |
+ <script> |
+ if(!window.webkitRequestFileSystem) { |
+ t_log = async_test(); |
+ t_log.set_status(t_log.NOTRUN, "No filesystem:// support, cannot run test."); |
+ t_log.phase = t_log.phases.HAS_RESULT; |
+ t_log.done(); |
+ } else { |
+ function fail() { |
+ alert_assert("FAIL!"); |
+ } |
+ window.webkitRequestFileSystem( |
+ TEMPORARY, 1024 * 1024 /*1MB*/ , function(fs) { |
+ fs.root.getFile('fail.js', { |
+ create: true |
+ }, function(fileEntry) { |
+ fileEntry.createWriter(function(fileWriter) { |
+ fileWriter.onwriteend = function(e) { |
+ var script = document.createElement('script'); |
+ script.src = fileEntry.toURL('application/javascript'); |
+ document.body.appendChild(script); |
+ }; |
+ // Create a new Blob and write it to pass.js. |
+ var b = new Blob(['fail();'], { |
+ type: 'application/javascript' |
+ }); |
+ fileWriter.write(b); |
+ }); |
+ }); |
+ }); |
+ var s = document.createElement('script'); |
+ s.async = true; |
+ s.defer = true; |
+ s.src = "../support/checkReport.sub.js?reportExists=true&reportField=violated-directive&reportValue=script-src%20'self'%20'unsafe-inline'%20'*'" |
+ document.lastChild.appendChild(s); |
+ } |
+ |
+ |
+ </script> |
+ <div id="log"></div> |
+ |
+</body> |
+ |
+</html> |