<!DOCTYPE html>
<html>
<head>
    <link rel="stylesheet" href="resources/stylesheet304-bad-content-type.php">
</head>
<body>
    <div id="test">This div should have a green background.</div>

    <script src="/js-test-resources/js-test-pre.js"></script>
    <script>
        window.jsTestIsAsync = true;

        description("Certain headers (such as 'content-type') ought to be ignored when resources like stylesheets are revalidated via a 304 response.");

        window.onload = function () {
            if (window.sessionStorage.reloaded) {
                window.sessionStorage.removeItem("reloaded");
                shouldBeEqualToString("window.getComputedStyle(document.getElementById('test')).backgroundColor", "rgb(0, 255, 0)"); 
                finishJSTest();
            } else {
                window.sessionStorage.reloaded = 1;
                window.location.reload();
            }
        };
    </script>
    <script src="/js-test-resources/js-test-post.js"></script>
</body>
</html>
