<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.py"
    document.body.appendChild(iframe);
}
</script>
<iframe src="resources/x-frame-options.py"></iframe>
</body>
