<!DOCTYPE html>
<html>
<style>
  img {
    transform: translateZ(0); /* Enable direct compositing. */
    width: 250px;
  }
  .filter {
    -webkit-filter: blur(3px);
  }
</style>

<body>
  <!-- The blue sector of the images should be at 12 o'clock. -->
  <img onload="load(this)" title="png image"  src="resources/red-at-12-oclock-with-color-profile.png">
  <img onload="load(this)" title="jpeg image" src="resources/red-at-12-oclock-with-color-profile.jpg">
  <img onload="load(this)" title="webp image" src="resources/webp-color-profile-lossy.webp">
</body>

<script>
var images = 0;

function load(element) {
  setTimeout(function() { element.classList.add('filter') || next() }, 100);
}

function next() {
  if (++images == 3 && window.testRunner)
    setTimeout(function() { testRunner.notifyDone() }, 0);
}

if (window.testRunner) {
  testRunner.dumpAsTextWithPixelResults();
  testRunner.waitUntilDone();
}
</script>
</html>
