Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(317)

Unified Diff: third_party/WebKit/LayoutTests/external/wpt/content-security-policy/securitypolicyviolation/upgrade-insecure-requests-reporting.https.html

Issue 2790693002: Split CSP into pre- and post-upgrade checks (Closed)
Patch Set: add mkwst TODO Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/LayoutTests/external/wpt/content-security-policy/securitypolicyviolation/upgrade-insecure-requests-reporting.https.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/securitypolicyviolation/upgrade-insecure-requests-reporting.https.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/securitypolicyviolation/upgrade-insecure-requests-reporting.https.html
new file mode 100644
index 0000000000000000000000000000000000000000..5a0bc7c8e7aa2e2c952dcdc0bd2f083934fc55ee
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/securitypolicyviolation/upgrade-insecure-requests-reporting.https.html
@@ -0,0 +1,60 @@
+<!doctype html>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/upgrade-insecure-requests/support/testharness-helper.sub.js"></script>
+<body></body>
+<script>
+ function waitForViolation(el, effective_directive) {
+ return new Promise(resolve => {
+ el.addEventListener('securitypolicyviolation', e => {
+ if (e.effectiveDirective == effective_directive)
+ resolve(e);
+ });
+ });
+ }
+
+ async_test(t => {
+ var url = generateURL(Host.SAME_ORIGIN, Protocol.INSECURE, ResourceType.IMAGE).url;
+ var i = document.createElement('img');
+ var loaded = false;
+ var reported = false;
+ waitForViolation(window, "img-src")
+ .then(t.step_func(e => {
+ reported = true;
+ if (loaded)
+ t.done();
+ }));
+ i.onload = t.step_func(_ => {
+ loaded = true;
+ if (reported)
+ t.done();
+ });
+ i.onerror = t.unreached_func(url + " should load successfully.");
+ i.src = url;
+ document.body.appendChild(i);
+ }, "Upgraded image is reported");
+
+ async_test(t => {
+ var url = generateURL(Host.SAME_ORIGIN, Protocol.INSECURE, ResourceType.FRAME).url;
+ var i = document.createElement('iframe');
+ var loaded = false;
+ var reported = false;
+ waitForViolation(window, "frame-src")
+ .then(t.step_func(e => {
+ reported = true;
+ if (loaded)
+ t.done();
+ }));
+ window.addEventListener("message", t.step_func(e => {
+ if (e.source == i.contentWindow) {
+ i.remove();
+ loaded = true;
+ if (reported)
+ t.done();
+ }
+ }));
+ i.src = url;
+ document.body.appendChild(i);
+ }, "Upgraded iframe is reported");
+</script>
+</html>

Powered by Google App Engine
This is Rietveld 408576698