<html>
<head>
  <style type="text/css" media="screen">
    div {
      background: blue;
      background-image: url('resources/red-green-animated.gif');
      height: 200px;
      width: 200px;
    }
  </style>
  <script type="text/javascript" charset="utf-8">
    if (window.testRunner)
      testRunner.waitUntilDone();
    
    function pageLoaded() 
    {
      window.setTimeout(function() {
        if (window.testRunner)
          testRunner.notifyDone();
      }, 200);    // Red frame of GIF has 100ms duration
    }

    window.addEventListener('load', pageLoaded, false);
  </script>
  </script>
</head>
<body>
  <p>Div background should animate between red and green. DRT should snapshot when it is green.</p>
  <div></div>
</body>
</html>
