<html>
<head>
    <title></title>
    <script src="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>
