<!DOCTYPE html>
<title>Background change from opaque to transparent during smooth scroll</title>
<link rel=help href="https://drafts.csswg.org/cssom-view/#dictdef-scrolltooptions">
<style>
#container {
  width: 200px;
  height: 200px;
  overflow: scroll;
  background: white;
}
#content {
  width: 7500px;
  height: 7500px;
}
</style>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script>
var t = async_test('background change during smooth scroll');

function startSmoothScroll() {
  var scrollToOptions = {behavior: "smooth", top: 6000};
  container.scrollTo(scrollToOptions);
  requestAnimationFrame(preventCompositedScrolling);
}

function preventCompositedScrolling() {
  container.style.background = "transparent";
  requestAnimationFrame(waitForSmoothScrollEnd);
}

function waitForSmoothScrollEnd() {
  if (container.scrollTop == 6000) {
    t.done();
  } else {
    window.requestAnimationFrame(waitForSmoothScrollEnd);
  }
}

onload = () => {
  requestAnimationFrame(startSmoothScroll);
}
</script>
<div id="container">
  <div id="content">Content</div>
</div>
