diff options
Diffstat (limited to 'testing/web-platform/tests/cookies/third-party-cookies/third-party-cookies.tentative.https.html')
-rw-r--r-- | testing/web-platform/tests/cookies/third-party-cookies/third-party-cookies.tentative.https.html | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/testing/web-platform/tests/cookies/third-party-cookies/third-party-cookies.tentative.https.html b/testing/web-platform/tests/cookies/third-party-cookies/third-party-cookies.tentative.https.html new file mode 100644 index 0000000000..184649ff5b --- /dev/null +++ b/testing/web-platform/tests/cookies/third-party-cookies/third-party-cookies.tentative.https.html @@ -0,0 +1,72 @@ +<!DOCTYPE html> +<meta charset="utf-8"/> +<meta name="timeout" content="long"> +<title>Test third-party cookies</title> +<title>Test partitioned cookies</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/common/get-host-info.sub.js"></script> +<script src="/cookies/resources/cookie-helper.sub.js"></script> +<script src="/cookies/third-party-cookies/resources/test-helpers.js"></script> + +<body> +<script> + +document.body.onload = async () => { + // Set SameSite=None cookie in a 1P context using HTTP. + const attributes = "Secure;Path=/;SameSite=None"; + const httpCookieName = "1P_http"; + await credFetch( + `${self.origin}/cookies/resources/set.py?${httpCookieName}=foobar;${ + attributes}`); + + // Set another cookie using document.cookie. + const domCookieName = "1P_dom"; + document.cookie = `${domCookieName}=foobar;${attributes}`; + + const cookieNames = [httpCookieName, domCookieName]; + + // Set another cookie using the CookieStore API, if supported. + if (window.cookieStore) { + const cookieStoreCookieName = "1P_cs"; + await cookieStore.set({ + name: cookieStoreCookieName, + value: "foobar", + path: "/", + sameSite: "none", + }); + cookieNames.push(cookieStoreCookieName); + } + + // Test that the cookie is available in a first-party context via HTTP. + testHttpCookies({ + desc: "1P window", + origin: self.origin, + cookieNames, + expectsCookie: true, + }); + + // // Verify that the cookies are available to the DOM as well. + testDomCookies({ + desc: "1P window", + cookieNames, + expectsCookie: true, + }); + testCookieStoreCookies({ + desc: "1P window", + cookieNames, + expectsCookie: true, + }); + + // Open a cross-site window which will embed the current origin in a + // third-party context. + const crossSiteUrl = new URL( + `./resources/third-party-cookies-cross-site-window.html?origin=${ + encodeURIComponent(self.origin)}`, + get_host_info().HTTPS_NOTSAMESITE_ORIGIN + self.location.pathname); + const popup = window.open(crossSiteUrl); + fetch_tests_from_window(popup); +}; + +</script> +</body> |