<!DOCTYPE html><!-- webkit-test-runner [ enableCSSAnimationsAndCSSTransitionsBackedByWebAnimations=true ] -->

<html>
<head>
  <style type="text/css" media="screen">
  
    #container {
      position: relative;
      border: 1px solid black;
      height: 100px;
      width: 700px;
    }
    
    #box {
      position: absolute;
      height: 100px;
      width: 100px;
      background-color: blue;
      -webkit-animation-name: move;
      -webkit-animation-duration: 1.5s;
    }

    @-webkit-keyframes move {
      0%   {
        -webkit-transform: translateX(0);
        -webkit-animation-timing-function: ease-out;
      }
      10% {
        -webkit-transform: translateX(100px);
        -webkit-animation-timing-function: linear;
      }
      90% {
        -webkit-transform: translateX(500px);
        -webkit-animation-timing-function: ease-in;
      }
      100% {
        -webkit-transform: translateX(600px);
      }
    }
    
  </style>
  <script src="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]
      ["move", 0.75, "box", "webkitTransform.4", 300, 20],
    ];
    
    runAnimationTest(expectedValues);
  </script>
</head>
<body>

  Tests whether timing functions inside keyframes are respected.
<div id="container">
  <div id="box"></div>
</div>
<div id="result">
</div>
</body>
</html>
