<!DOCTYPE html>
<html>
<head>
<style>

div {
  position: absolute;
  height: 90px;
  width: 90px;
  background: blue;
}

#div1 {
  z-index: 4;
  left: 100px;
  top: 200px;
  offset-path: path('m 0 0 h 400');
  transform-origin: 0px 0px;
}

#div2 {
  z-index: 3;
  left: 100px;
  top: 300px;
  transform-origin: 0px 0px;
}

</style>
</head>
<body>
<p>
Tests that motion path animations stop an existing fill-forwards transform animation from being composited.
<p>
The two squares should equivalently move from left to right, pause and move back to left. They need not be perfectly in time.

<div id="div1"></div>
<div id="div2"></div>

<script>
var div1 = document.getElementById('div1');
var div2 = document.getElementById('div2');

function startAnimations() {
  div1.animate([
      {offsetDistance: '0%'},
      {offsetDistance: '100%'}
  ], {
      duration: 1000,
      delay: 1000,
      fill: 'forwards'
  });
  div1.animate([
      {transform: 'translate(0px)'},
      {transform: 'translate(-400px)'}
  ], {
      duration: 1000,
      delay: 3000,
      fill: 'forwards'
  });

  div2.animate([
      {transform: 'translate(0px)'},
      {transform: 'translate(400px)'}
  ], {
      duration: 1000,
      delay: 1000,
      fill: 'forwards'
  });
  setTimeout(function() {
    div2.style.offsetPath = 'path("m 0 0 h -400")';
    div2.style.offsetRotate = '0deg';
    div2.animate([
        {offsetDistance: '0%'},
        {offsetDistance: '100%'}
    ], {
        duration: 1000,
      fill: 'forwards'
    });
  }, 3000);
}

requestAnimationFrame(startAnimations);

</script>

</body>
</html>
