<!DOCTYPE html>
<html>
<head>
<script src="/js-test-resources/testharness.js"></script>
<script src="/js-test-resources/testharnessreport.js"></script>
<script src="../resources/testharness-helpers.js"></script>
</head>
<body>
<script>
if (window.location.hostname == "127.0.0.1") {
    document.cookie = STRICT_DOM + "=1; SameSite=Strict; Max-Age=100; path=/";
    document.cookie = IMPLICIT_STRICT_DOM + "=1; SameSite; Max-Age=100; path=/";
    document.cookie = STRICT_BECAUSE_INVALID_SAMESITE_VALUE + "=1; SameSite=invalid; Max-Age=100; path=/";
    document.cookie = LAX_DOM + "=1; SameSite=Lax; Max-Age=100; path=/";
    document.cookie = NORMAL_DOM + "=1; Max-Age=100; path=/";
    window.location.hostname = "localhost";
} else {
    async_test(t => {
        let iframe = document.createElement("iframe");
        iframe.src = "http://127.0.0.1:8000/cookies/same-site/resources/navigate-to-post-cookies-to-opener-iframe.html";
        document.body.appendChild(iframe);
        window.addEventListener("message", t.step_func_done(e => {
            assert_equals(e.data.http[STRICT_DOM], undefined, "strict");
            assert_equals(e.data.http[IMPLICIT_STRICT_DOM], "1", "implicit-strict");
            assert_equals(e.data.http[STRICT_BECAUSE_INVALID_SAMESITE_VALUE], "1", "strict-because-invalid-SameSite-value");
            assert_equals(e.data.http[LAX_DOM], "1", "lax");
            assert_equals(e.data.http[NORMAL_DOM], "1", "normal");
            assert_equals(normalizeCookie(e.data.document), normalizeCookie(IMPLICIT_STRICT_DOM + "=1; " + LAX_DOM + "=1; " + NORMAL_DOM + "=1; " + STRICT_BECAUSE_INVALID_SAMESITE_VALUE + "=1; " + STRICT_DOM + "=1"));
        }));
    }, "'127.0.0.1' is not same-site with 'localhost', so strict samesite cookies are not sent, but lax ones are.");
}
</script>
</body>
</html>
