<!DOCTYPE html>
<html>
<style>
  .fade {
    -webkit-animation: fader linear 100000s infinite 10ms
  }

  .border {
    border: 5px solid transparent;
    border-radius: 200px;
  }

  @-webkit-keyframes fader {
     0% { opacity: 1.0 }
    50% { opacity: 0.0 }
  }
</style>

<!-- The blue sector of the image should be at 12 o'clock. The image should be contained
     within its CSS border radius circle: it should not look square. -->
<img onload="fade(this)" width="400px" src="resources/red-at-12-oclock-with-color-profile.jpg">

<script>
function fade(element) {
  element.addEventListener('webkitAnimationStart', start, false);
  element.classList.toggle('fade');
}

function start(event) {
  event.target.classList.toggle('border');

  if (window.testRunner)
    setTimeout(function() { testRunner.notifyDone() }, 0);
}

if (window.testRunner) {
  testRunner.setColorProfile('colorSpin', new Function());
  testRunner.dumpAsTextWithPixelResults();
  testRunner.waitUntilDone();
}
</script>
</html>
