<body>
Test that a 304 response for a resource with an X-Frame-Options header doesn't cause us to crash.
<script>
if (window.testRunner) {
    testRunner.dumpAsText();
    testRunner.waitUntilDone();
}

testCalls = 0;

function test() {
    testCalls++;
    if (testCalls > 1) {
        testRunner.notifyDone();
        return;
    }

    document.body.removeChild(document.body.lastChild);
    var iframe = document.createElement("iframe");
    iframe.src = "resources/x-frame-options.php"
    document.body.appendChild(iframe);
}
</script>
<iframe src="resources/x-frame-options.php"></iframe>
</body>
