<!-- webkit-test-runner [ useEphemeralSession=true ] -->
<!DOCTYPE html>
<html>
<title>Checks that a script generated POST request does not circumvent third-party cookie rules</title>
<script>
if (window.testRunner) {
    testRunner.waitUntilDone();
    testRunner.dumpAsText();
    testRunner.dumpChildFramesAsText();

    testRunner.setAlwaysAcceptCookies(false);
}

function runTest()
{
    document.getElementById('form').submit();
}
</script>
<body onload="runTest()">
    <div>
        <form id="form" action="http://localhost:8000/security/cookies/resources/set-a-cookie.php" method="POST" target="iframe">
          <input type="submit" />
        </form>
        <iframe src="javascript:false" name="iframe"></iframe>
    </div>
</body>
</html>
