<!DOCTYPE html><!-- webkit-test-runner [ enableCSSAnimationsAndCSSTransitionsBackedByWebAnimations=true ] -->
<html>
<head>
  <style type="text/css" media="screen">
    body {
      margin: 0;
    }

    #box {
      position: absolute;
      left: 0px;
      top: 100px;
      height: 100px;
      width: 100px;
      margin: 0;
      background-color: red;
      -webkit-transform: translate(-2000px, 0px);
      -webkit-animation-duration: 1s;
      -webkit-animation-direction: normal;
      -webkit-animation-timing-function: linear;
      -webkit-animation-name: "anim";
    }
    @-webkit-keyframes "anim" {
        0% { -webkit-transform: translate(100px, 0px); }
      100% { -webkit-transform: translate(100px, 0px); }
    }
    #result {
      color: white; /* hide from pixel results */
    }
  </style>
  <script src="resources/animation-test-helpers.js" type="text/javascript"></script>
  <script type="text/javascript" charset="utf-8">
    if (window.testRunner) {
        window.testRunner.dumpAsText(true);
    }

    const expectedValues = [
      // [time, element-id, property, expected-value, tolerance]
      ["anim",  0.5, "box", "webkitTransform", [1, 0, 0, 1, 100, 0], 0.002],
    ];

    const doPixelTest = true;
    const disablePauseAnimationAPI = false;
    runAnimationTest(expectedValues, null, null, disablePauseAnimationAPI, doPixelTest);
  </script>
</head>
<body>

<!-- This test checks that a compositing layer is rendered if the layer is originally transformed off the viewport. You should see red boxes. -->
<div id="box"></div>
<div id="result"></div>

</body>
</html>
