<!--
Calculating collapsed borders for big tables is expensive, so we cache them and recalculate when needed.
Here we change row border color, expect that cache is invalidated and paint produces expected image.
-->
<html>
    <head>
        <title></title>
        <link rel="stylesheet" href="resources/cached.css">
        <script type="text/javascript">
            function test() {
                document.body.offsetTop;
                if (window.testRunner)
                    testRunner.displayAndTrackRepaints();
                document.getElementById("row").style.borderColor = "yellow";
            }
        </script>
    </head>
    <body onload="test()">
        <table style="border-collapse:collapse; border:1px solid blue">
            <tr style="border:4px solid pink" id="row">
                <td style="border:2px solid lime"/>
            </tr>
            <tr>
                <td/>
            </tr>
        </table>
    </body>
</html>

