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

Unified Diff: third_party/WebKit/LayoutTests/http/tests/security/upgrade-insecure-requests/iframe-upgrade.https.html

Issue 1964303003: UPGRADE: Correctly handle navigations. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Forms. Created 4 years, 7 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/http/tests/security/upgrade-insecure-requests/iframe-upgrade.https.html
diff --git a/third_party/WebKit/LayoutTests/http/tests/security/upgrade-insecure-requests/iframe-upgrade.https.html b/third_party/WebKit/LayoutTests/http/tests/security/upgrade-insecure-requests/iframe-upgrade.https.html
new file mode 100644
index 0000000000000000000000000000000000000000..e6bd69d1c24ed280e5f04e50bf1b3697e0a758ab
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/http/tests/security/upgrade-insecure-requests/iframe-upgrade.https.html
@@ -0,0 +1,75 @@
+<!DOCTYPE html>
+<head>
+<title>Upgrade Insecure Requests: IFrames.</title>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+
+<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+</head>
+<body>
+<script>
+async_test(t => {
+ var i = document.createElement('iframe');
+
+ // This is a bit of a hack. UPGRADE doesn't upgrade the port number, so we
+ // specify this non-existent URL ('http' over port 8443). If UPGRADE doesn't
+ // work, it won't load.
+ i.src = "http://127.0.0.1:8443/security/resources/post-origin-to-parent.html";
+
+ window.addEventListener('message', t.step_func(e => {
+ if (e.source == i.contentWindow) {
+ assert_equals("https://127.0.0.1:8443", e.data.origin);
+ t.done();
+ }
+ }));
+ document.body.appendChild(i);
+}, "Same-host frames are upgraded.");
+
+async_test(t => {
+ var i = document.createElement('iframe');
+
+ // This is a bit of a hack. UPGRADE doesn't upgrade the port number, so we
+ // specify this non-existent URL ('http' over port 8443). If UPGRADE doesn't
+ // work, it won't load.
+ i.src = "http://example.test:8443/security/resources/post-origin-to-parent.html";
+
+ window.addEventListener('message', t.step_func(e => {
+ if (e.source == i.contentWindow) {
+ assert_equals("https://example.test:8443", e.data.origin);
+ t.done();
+ }
+ }));
+ document.body.appendChild(i);
+}, "Cross-host frames are upgraded.");
+
+async_test(t => {
+ var i = document.createElement('iframe');
+ i.srcdoc = "<a href='http://127.0.0.1:8443/security/resources/post-origin-to-parent.html'>Navigate!</a>" +
+ "<script>document.querySelector('a').click()</scr" + "ipt>";
+
+ window.addEventListener('message', t.step_func(e => {
+ if (e.source == i.contentWindow) {
+ assert_equals("https://127.0.0.1:8443", e.data.origin);
+ t.done();
+ }
+ }));
+
+ document.body.appendChild(i);
+}, "Upgrade policy cascades to nested, same-host frames.");
+
+async_test(t => {
+ var i = document.createElement('iframe');
+ i.srcdoc = "<a href='http://example.test:8443/security/resources/post-origin-to-parent.html'>Navigate!</a>" +
+ "<script>document.querySelector('a').click()</scr" + "ipt>";
+
+ window.addEventListener('message', t.step_func(e => {
+ if (e.source == i.contentWindow) {
+ assert_equals("https://example.test:8443", e.data.origin);
+ t.done();
+ }
+ }));
+
+ document.body.appendChild(i);
+}, "Upgrade policy cascades to nested, cross-host frames.");
+</script>
+</body>

Powered by Google App Engine
This is Rietveld 408576698