<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
    <title>Test for http://bugs.webkit.org/show_bug.cgi?id=12817</title>
    <style type="text/css" media="all">
        table {
            border-collapse: collapse;
        }
        
        table td {
            border: 15px solid red;
            background-color: green;
            height: 50px;
            width: 100px;
        }
        
        table.green td {
            border-color: green;
        }
    </style>
    <script src="repaint.js"></script>
    <script>
        function repaintTest()
        {
            var container = document.getElementById('container');
            var table = document.getElementById('table');
            var newTable = table.cloneNode(true);
            newTable.className = "green";
            container.replaceChild(newTable, table);
        }
    </script>
</head>
<body onload="runRepaintTest();">
    <div id="container" style="width: 500px;">
        <table id="table">
            <tr>
                <td></td>
            </tr>
            <tr>
                <td></td>
            </tr>
        </table>
    </div>
</body>
</html>
