<html>
<head>
    <script src="../../fast/repaint/resources/repaint.js" type="text/javascript"></script>
    <script type="text/javascript">
    function startTest()
    {
        if (!window.testRunner)
            return;
        testRunner.waitUntilDone();
        testRunner.setBackingScaleFactor(2, runRepaintTest);
    }
    function repaintTest()
    {
        if (!window.testRunner)
            return;
        // The animation lasts 100ms. Wait 200ms for the repaint.
        setTimeout(function() {
            testRunner.notifyDone();
        }, 200);
    } 
    </script>
    <style type="text/css" media="screen">
      img {
        margin: 10px;
      }
    </style>
</head>
<body onload="startTest()">
    <p>Images should redraw correctly when SVG animation runs</p>
    <!-- Don't load animated-rect-fixed-size.svg, it will already be loaded, and the animation already ran if animated-svg-as-image-no-fixed-intrinsic-size.html runs before this test! -->
    <img src="resources/animated-rect-fixed-size-3.svg">
</body>
</html>
