<html>
<head>
<script>
if (window.testRunner) {
    testRunner.dumpAsText();
    testRunner.waitUntilDone();
}

document.cookie = "secret=PASS";

function log(msg) {
    var line = document.createElement("div");
    line.appendChild(document.createTextNode(msg));
    document.getElementById("console").appendChild(line);
}

function runTest() {
    log("Running test.");
    log(document.cookie);
    log("Test complete.");

    if (window.testRunner)
        testRunner.notifyDone();
}
</script>
<base href="http://localhost:8000/">
</head>
<body>
<iframe
  onload="runTest()"
  src="http://localhost:8000/security/cookies/resources/set-a-cookie.html">
</iframe>
<div id="console"></div>
</body>
</html>
