chromium/third_party/blink/web_tests/animations/animationworklet/scroll-timeline-non-scrollable.html

<!DOCTYPE html>
<style>
#box {
  width: 100px;
  height: 100px;
  background-color: #00ff00;
}

#covered {
  width: 100px;
  height: 100px;
  background-color: #ff8080;
}

/* In this test the scroller is composited (forcibly) but is not actually
   scrollable. This should result in a composited worklet animation being
   created, but it should get not get animated!. */
.scroller {
  overflow: visible;
  height: 100px;
  width: 100px;
  /* Force compositing of the scroller. */
  backface-visibility: hidden;
}

#contents {
  height: 1000px;
}
</style>

<div id="box"></div>
<div id="covered"></div>
<div id="scroller" class="scroller">
  <div id="contents"></div>
</div>

<script id="visual_update"  type="text/worklet">
registerAnimator("test_animator", class {
  animate(currentTime, effect) {
    // A non-scrollable scroller means that the animation is not active which
    // means this method should never be called.
    effect.localTime = 500;
  }
});
</script>

<script src="resources/animation-worklet-tests.js"></script>
<script>
if (window.testRunner) {
  testRunner.waitUntilDone();
}

runInAnimationWorklet(
  document.getElementById('visual_update').textContent
).then(()=>{
  const box = document.getElementById('box');
  const effect = new KeyframeEffect(box,
    [
     { transform: 'translateY(0)' },
     { transform: 'translateY(200px)' }
    ], {
      duration: 1000,
    }
  );

  const scroller = document.getElementById('scroller');
  const timeline = new ScrollTimeline({ scrollSource: scroller, orientation: 'block' });
  const animation = new WorkletAnimation('test_animator', effect, timeline);
  animation.play();

  // Ensure that the WorkletAnimation will have been started on the compositor.
  if (window.testRunner) {
    waitTwoAnimationFrames(_ => {
      testRunner.notifyDone();
    });
  }
});
</script>