<!DOCTYPE HTML>
<html>
<head>
    <script src="resources/repaint.js"></script>
    <script>
        if (window.testRunner)
            testRunner.dumpAsText(true);

    function repaintTest() {
        var floatContainer = document.getElementById("floatContainer");
        floatContainer.style.display = "none";
    }

    window.addEventListener("load", runRepaintTest);
    </script>
    <style>
    .floatWithHeight {
        float: left;
        height: 400px;
    }

    .float {
        float: left;
        background-color: red;
        height: 100px;
        width: 100px;
    }
    </style>
</head>
<body>
<div>
    <div style="opacity: 0;">
        <a href="https://bugs.webkit.org/show_bug.cgi?id=105861">Bug 105861</a>: REGRESSION (r132591): Underpainting @ uofmchildrenshospital.org<br>
        This test checks that overhanging floats are properly repainted when a renderer is detached.<br>
        This test has PASSED if there is no RED below.
    </div>
    <div class="floatWithHeight"></div>
    <div id="floatContainer">
        <div class="float"></div>
    </div>
</div>	
</body> 
</html> 
