<!DOCTYPE html><!-- webkit-test-runner [ experimental:WebAnimationsCSSIntegrationEnabled=false ] -->
<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <style>
  .outer {
    width: 120px;
    height: 230px;
    margin: 20px 100px;
    border: 1px solid black;
    -webkit-box-reflect: right 10px;
  }
  
  .inner {
    margin: 10px;
    width: 100px;
    height: 100px;
    background-color: green;
    text-align: center;
    font-size: 50pt;
    -webkit-box-reflect: below 10px;
  }

  .inner.animated {
    -webkit-animation: swing 1s linear 1 alternate;
  }

  .inner:hover {
    -webkit-animation-play-state: paused;
  }
  
  .composited {
    -webkit-transform: translateZ(0);
  }
  
  @-webkit-keyframes swing {
    from { -webkit-transform: rotate(0deg); }
    to   { -webkit-transform: rotate(90deg); }
  }
  </style>
  <script src="../../animations/resources/animation-test-helpers.js" type="text/javascript" charset="utf-8"></script>
  <script type="text/javascript" charset="utf-8">
    const expectedValues = [
      // [animation-name, time, element-id, property, expected-value, tolerance]
      ["swing", 0.5, "inner", "webkitTransform.0", 0.76, 0.1],
    ];
    
    var pixelTest = true;
    var disablePauseAPI = false;
    runAnimationTest(expectedValues, null, null, disablePauseAPI, pixelTest);
  </script>
  </head>
<body>
  <p>Animation on original and reflection should both be paused half way through, giving 45deg rotation.</p>
  <div class="outer composited">
    <div id="inner" class="inner composited animated">
      1
    </div>
  </div>
  <div id="result"></div>
</body>
</html>
