| 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>
|
|
|