<!DOCTYPE>

<html>
<head>
  <style>
    .box {
      height: 100px;
      width: 100px;
      margin: 10px;
      background-color: gray;
      -webkit-mask-repeat: no-repeat;
      -webkit-transition-duration: 1s;
      -webkit-transition-timing-function: linear;
      -webkit-transition-property: -webkit-mask-position;
    }
    
    #box {
      -webkit-mask-image: url('../fast/backgrounds/repeat/resources/gradient.gif'), url('../fast/backgrounds/repeat/resources/gradient.gif');
      -webkit-mask-position: 0 0, 0 80px;
    }
    
    #box.final {
      -webkit-mask-position: 80px 80px, 80px 0;
    }

    /* Mismatched layers */
    #box2 {
      -webkit-mask-image: url('../fast/backgrounds/repeat/resources/gradient.gif'), url('../fast/backgrounds/repeat/resources/gradient.gif');
      -webkit-mask-position: 0 0, 0 80px;
    }
    
    #box2.final {
      -webkit-mask-image: url('../fast/backgrounds/repeat/resources/gradient.gif');
      -webkit-mask-position: 80px 80px;
    }

    #box3 {
      -webkit-mask-image: url('../fast/backgrounds/repeat/resources/gradient.gif');
      -webkit-mask-position: 80px 80px;
    }
    
    #box3.final {
      -webkit-mask-image: url('../fast/backgrounds/repeat/resources/gradient.gif'), url('../fast/backgrounds/repeat/resources/gradient.gif');
      -webkit-mask-position: 0 0, 0 80px;
    }

  </style>
  <script src="resources/transition-test-helpers.js"></script>
  <script type="text/javascript">

    const expectedValues = [
      // [time, element-id, property, expected-value, tolerance]
      [0.5, 'box', '-webkit-mask-position', [40, 40], 5],
      [0.5, 'box2', '-webkit-mask-position', [40, 40], 5],
      [0.5, 'box3', '-webkit-mask-position', [40, 40], 5],
    ];
  
    function setupTest()
    {
      document.getElementById('box').className = 'box final';
      document.getElementById('box2').className = 'box final';
      document.getElementById('box3').className = 'box final';
    }
  
    runTransitionTest(expectedValues, setupTest, usePauseAPI);
  </script>
</head>
<body>

  <div id="box" class="box"></div>
  <div id="box2" class="box"></div>
  <div id="box3" class="box"></div>

  <div id="result">
  </div>

</body>
</html>
