<!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="resources/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>
