<!DOCTYPE html>
<!--
 | Verify that textured elements at integer pixel coordinates do not have
 | aliasing when rendered.
 -->
<html>
<head>
  <meta http-equiv="Content-Security-Policy"
        content="img-src 'self' data:;">
  <style>
    body {
      background-color: rgba(0,0,0,0);
    }

    div {
      width: 100%;
      height: 100%;
      position: absolute;
      transform: translate(100px, 100px);
    }
  </style>
</head>
<body>
  <div id='texture'></div>
  <script>
    if (window.testRunner) {
      window.testRunner.waitUntilDone();
    }

    var image = new Image()
    image.onload = function() {
      var texture = document.getElementById('texture');
      texture.style.background = 'url(' + image.src + ') no-repeat left top';
      if (window.testRunner) {
        window.testRunner.notifyDone();
      }
    }
    // 100 x 100 colored checkerboard
    image.src = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAABHNCSVQICAgIfAhkiAAAAQ1JREFUeJzt3MENgEAIAEHO2H/L+rYCN2SmAsiGL+eZeWaBs2KLmevvAfgSJEaQGEFiBIkRJEaQGEFiBIkRJEaQGEFiBIkRJEaQGEFiBIkRJEaQGEFiBIkRJEaQGEFiBIkRJEaQGEFiBIkRJEaQGEFiBIkRJEaQGEFiBIkRJEaQGEFiBIkRJEaQGEFiBIkRJEaQGEFiBIm5z46Hcku2cCE5gsQIEiNIjCAxgsQIEiNIjCAxgsQIEiNIjCAxgsQIEiNIjCAxgsQIEiNIjCAxgsQIEiNIjCAxgsQIEiNIjCAxgsQIEiNIjCAxgsQIEiNIjCAxgsQIEiNIjCAxgsQIEiNIjCAxgsQIEiNIjCAxL/+yBcc4MVfZAAAAAElFTkSuQmCC';
  </script>
</body>
</html>
