| <!DOCTYPE html> |
| <head> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <script src="/cookies/resources/cookie-helper.sub.js"></script> |
| </head> |
| <body onload="doTests()"> |
| <script> |
| function doTests() { |
| promise_test(async function(t) { |
| var child = window.open(""); |
| child.onmessage = (ev) => { |
| child.opener.postMessage(ev.data, '*'); |
| }; |
| var grandKid = child.document.createElement("iframe"); |
| child.document.body.appendChild(grandKid); |
| var value = "" + Math.random(); |
| await resetSameSiteCookies(SECURE_ORIGIN, value); |
| |
| // Using postToParent.py here to see cookies used when navigating the page. |
| grandKid.src = SECURE_ORIGIN + "/cookies/resources/postToParent.py" |
| var e = await wait_for_message("COOKIES", SECURE_ORIGIN); |
| assert_cookie(SECURE_ORIGIN, e.data, "samesite_unspecified", value, true); |
| assert_cookie(SECURE_ORIGIN, e.data, "samesite_lax", value, true); |
| assert_cookie(SECURE_ORIGIN, e.data, "samesite_strict", value, true); |
| assert_cookie(SECURE_ORIGIN, e.data, "samesite_none", value, true); |
| }, "SameSite cookies with top-level about:blank window"); |
| } |
| </script> |
| </body> |