summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/cookies/samesite/resources
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/cookies/samesite/resources')
-rw-r--r--testing/web-platform/tests/cookies/samesite/resources/echo-cookies.html8
-rw-r--r--testing/web-platform/tests/cookies/samesite/resources/iframe-navigate-report.html3
-rw-r--r--testing/web-platform/tests/cookies/samesite/resources/iframe-subresource-report.html14
-rw-r--r--testing/web-platform/tests/cookies/samesite/resources/iframe.document.html8
-rw-r--r--testing/web-platform/tests/cookies/samesite/resources/navigate-iframe.html26
-rw-r--r--testing/web-platform/tests/cookies/samesite/resources/navigate.html25
-rw-r--r--testing/web-platform/tests/cookies/samesite/resources/puppet.html32
7 files changed, 116 insertions, 0 deletions
diff --git a/testing/web-platform/tests/cookies/samesite/resources/echo-cookies.html b/testing/web-platform/tests/cookies/samesite/resources/echo-cookies.html
new file mode 100644
index 0000000000..a1b29b9b03
--- /dev/null
+++ b/testing/web-platform/tests/cookies/samesite/resources/echo-cookies.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<script>
+ if (window.opener)
+ window.opener.postMessage({ type: 'COOKIES_SET', cookies: document.cookie }, '*');
+ if (window.parent !== window)
+ window.parent.postMessage({ type: 'FRAME_COOKIES_SET', cookies: document.cookie }, '*');
+</script>
diff --git a/testing/web-platform/tests/cookies/samesite/resources/iframe-navigate-report.html b/testing/web-platform/tests/cookies/samesite/resources/iframe-navigate-report.html
new file mode 100644
index 0000000000..98ea469fda
--- /dev/null
+++ b/testing/web-platform/tests/cookies/samesite/resources/iframe-navigate-report.html
@@ -0,0 +1,3 @@
+<!DOCTYPE html>
+<iframe src="/cookies/resources/postToParent.py">
+</iframe>
diff --git a/testing/web-platform/tests/cookies/samesite/resources/iframe-subresource-report.html b/testing/web-platform/tests/cookies/samesite/resources/iframe-subresource-report.html
new file mode 100644
index 0000000000..1dceb4e436
--- /dev/null
+++ b/testing/web-platform/tests/cookies/samesite/resources/iframe-subresource-report.html
@@ -0,0 +1,14 @@
+<!DOCTYPE html>
+<head>
+<script src="/cookies/resources/cookie-helper.sub.js"></script>
+<script>
+function reportSubresourceCookies() {
+ credFetch(SECURE_ORIGIN + "/cookies/resources/list.py")
+ .then(r => r.json())
+ .then(cookies => { cookies.type = "COOKIES";
+ target = window.opener ? window.opener : window.parent;
+ target.postMessage(cookies, "*");});
+}
+</script>
+</head>
+<body onload="reportSubresourceCookies()">
diff --git a/testing/web-platform/tests/cookies/samesite/resources/iframe.document.html b/testing/web-platform/tests/cookies/samesite/resources/iframe.document.html
new file mode 100644
index 0000000000..7026beb7e8
--- /dev/null
+++ b/testing/web-platform/tests/cookies/samesite/resources/iframe.document.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<script>
+ var value = "" + Math.random();
+ document.cookie = `dc_samesite_strict=${value}; secure; sameSite=strict; path=/`;
+ document.cookie = `dc_samesite_lax=${value}; secure; sameSite=lax; path=/`;
+ document.cookie = `dc_samesite_none=${value}; secure; sameSite=none; path=/`;
+ parent.postMessage({value}, "*");
+</script>
diff --git a/testing/web-platform/tests/cookies/samesite/resources/navigate-iframe.html b/testing/web-platform/tests/cookies/samesite/resources/navigate-iframe.html
new file mode 100644
index 0000000000..98ad6264fa
--- /dev/null
+++ b/testing/web-platform/tests/cookies/samesite/resources/navigate-iframe.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<script src="/cookies/resources/cookie-helper.sub.js"></script>
+<script>
+ window.addEventListener('load', function() {
+ window.opener.postMessage({ type: 'LOADED' }, '*');
+ });
+
+ window.addEventListener('message', function(e) {
+ if (SECURE_ORIGIN !== window.location.origin)
+ return;
+
+ if (e.data.type === "initialize-iframe")
+ window.frames[0].location = e.data.url;
+ if (e.data.type === "navigate-iframe")
+ window.frames[0].postMessage({ type: 'navigate', url: e.data.url }, '*');
+
+ // Relay messages sent by the subframe to the opener.
+ if (e.data.type === 'FRAME_READY')
+ window.opener.postMessage({ type: 'FRAME_READY' }, '*');
+
+ if (e.data.type === 'FRAME_COOKIES_SET')
+ window.opener.postMessage({ type: 'FRAME_COOKIES_SET', cookies: e.data.cookies }, '*');
+ });
+</script>
+<iframe></iframe>
diff --git a/testing/web-platform/tests/cookies/samesite/resources/navigate.html b/testing/web-platform/tests/cookies/samesite/resources/navigate.html
new file mode 100644
index 0000000000..88de6dff92
--- /dev/null
+++ b/testing/web-platform/tests/cookies/samesite/resources/navigate.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<script src="/cookies/resources/cookie-helper.sub.js"></script>
+<script>
+ window.addEventListener('load', function() {
+ if (window.opener)
+ window.opener.postMessage({ type: 'READY' }, '*');
+ if (window.parent !== window)
+ window.parent.postMessage({ type: 'FRAME_READY' }, '*');
+ });
+
+ window.addEventListener('message', function(e) {
+ if (e.data.type === "navigate") {
+ window.location = e.data.url;
+ }
+
+ if (e.data.type === "post-form") {
+ var f = document.createElement('form');
+ f.action = e.data.url;
+ f.method = "POST";
+ document.body.appendChild(f);
+ f.submit();
+ }
+ });
+</script>
diff --git a/testing/web-platform/tests/cookies/samesite/resources/puppet.html b/testing/web-platform/tests/cookies/samesite/resources/puppet.html
new file mode 100644
index 0000000000..6d36132d3a
--- /dev/null
+++ b/testing/web-platform/tests/cookies/samesite/resources/puppet.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<script src="/cookies/resources/cookie-helper.sub.js"></script>
+<script>
+ // Helper to either set or clear some cookies on its own origin, or
+ // (potentially) cross-site on SECURE_ORIGIN.
+ window.onmessage = e => {
+ var originToUse = SECURE_ORIGIN;
+ if (e.data.useOwnOrigin)
+ originToUse = self.origin;
+
+ if (e.data.type === "set") {
+ credFetch(originToUse + "/cookies/resources/setSameSite.py?" + e.data.value)
+ .then(_ => {
+ e.source.postMessage({
+ type: "set-complete",
+ value: e.data.value
+ }, "*");
+ });
+ }
+
+ if (e.data.type === "drop") {
+ credFetch(originToUse + "/cookies/resources/dropSameSite.py")
+ .then(_ => {
+ e.source.postMessage({type: "drop-complete"}, "*");
+ });
+ }
+ };
+
+ window.opener.postMessage({
+ type: "READY"
+ }, "*");
+</script>