<html>
<head>
  <script src="../../fast/repaint/resources/repaint.js" type="text/javascript"></script>
  <script type="text/javascript">
  function repaintTest() {
    if (!window.testRunner)
      return;

    // The animation lasts 100ms. Wait 200ms for the repaint.
    testRunner.waitUntilDone();
    setTimeout(function() {
      testRunner.notifyDone();
    }, 200);
  }
  </script>
  <style type="text/css" media="screen">
    div {
      background: red;
      background-repeat: no-repeat;
      background-image: url(resources/animated-rect-relative-size.svg);
      height: 600px;
      width: 800px;
    }
  </style>
</head>
<body style='margin: 0px' onload="runRepaintTest()">
<div>&nbsp;</div>
</body>
</html>
