<html>
<head>
    <title></title>
    <script src="resources/repaint.js"></script>
    <script>
        function repaintTest()
        {
            document.getElementById("target").style.display = "";
        }
    </script>
</head>
<body onload="runRepaintTest()">
    <p>
        Repaint test for <i><a href="http://bugs.webkit.org/show_bug.cgi?id=15838">http://bugs.webkit.org/show_bug.cgi?id=15838</a> Incomplete repaint toggling "How you know this person" on Facebook</i>.
    </p>
    <div>
        Word,<br>
        words,<br>
        more words.<br>
        I could<br>
        write a book<br>
        <div id="target" style="background-color: yellow; display: none; height: 100px; width: 10px;"></div>
        about all the stuff<br>
        that comes<br>
        after<br>
        the break.
    </div>
</body>
</html>
