chromium/third_party/blink/web_tests/animations/3d/change-transform-in-end-event.html

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">

<html lang="en">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <style>
    #container {
      position: relative;
      width: 400px;
      height: 100px;
      border: 1px solid  black;
    }

    .box {
      position: absolute;
      width: 100px;
      height: 100px;
      background-color: green;
    }

    .indicator {
      left: 150px;
      top: 0;
      background-color: red;
    }
    #container.moved .software {
      left: 300px;
    }

    #container.moved .hardware {
      animation: move 300ms linear;
    }

    .hardware {
      transform-style: preserve-3d;
    }

    @keyframes move {
      from { transform: translateX(0); }
      to   { transform: translateX(300px); }
    }
   </style>
   <script type="text/javascript" charset="utf-8">
    'use strict';
    function testEnded()
    {
      document.getElementById('tester').style.transform = 'translateX(150px)';
      requestAnimationFrame(function() {
        requestAnimationFrame(function() {
          if (window.testRunner)
            testRunner.notifyDone();
        });
      });
    }

    function startTest()
    {
      if (window.testRunner)
        testRunner.waitUntilDone();

      document.getElementById('tester').addEventListener('animationend', testEnded, false);
      document.getElementById('container').className = 'moved';
    }

    window.addEventListener('load', startTest, false);
   </script>
</head>
<body>

  <!-- At the end of the test the green box should obscure the red box. -->
  <div id="container">
    <div class="indicator box"></div>
    <div id="tester" class="hardware box"></div>
  </div>

</body>
</html>