<html>
<head>
  <script src="../../resources/run-after-layout-and-paint.js"></script>
  <script type="text/javascript">
  if (window.testRunner)
    testRunner.waitUntilDone();

  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">
    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="runAfterLayoutAndPaint(repaintTest);">
<div>&nbsp;</div>
</body>
</html>
