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

