<!DOCTYPE html>
<meta charset="utf-8">
<title>CSS Test: scroll tracking for ::scroll-marker when scroller is not next to the origin</title>
<link rel="help" href="https://drafts.csswg.org/css-overflow-5/#scroll-container-scroll">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/css/css-transitions/support/helper.js"></script>
<style>
  #scroller {
    overflow: scroll;
    scroll-marker-group: before;
    height: 100px;
    position: absolute;
    top: 200%;
    left: 200%;
  }

  #scroller::scroll-marker-group {
    border: 3px solid black;
    display: flex;
    width: 100px;
    height: 20px;
  }

  #scroller div {
    width: 100px;
    height: 100px;
  }

  #scroller div::scroll-marker {
    content: '';
    background-color: red;
    display: inline-flex;
    width: 10px;
    height: 10px;
    border-radius: 50%;
  }

  #scroller div::scroll-marker:target-current {
    background-color: green;
  }
</style>
<div id='scroller'>
  <div></div>
  <div id='target'></div>
</div>
<script>
  function assertPseudoElementProperty(originatingElement, pseudoType, backgroundColor) {
    const pseudoStyle = getComputedStyle(originatingElement, pseudoType);
    const pseudoBackgroundColor = pseudoStyle.getPropertyValue('background-color');
    assert_equals(pseudoBackgroundColor, backgroundColor, pseudoType +
      " background-color should be " + backgroundColor.toString() +
      " but was " + pseudoBackgroundColor.toString());
  }
  promise_test(async () => {
    document.documentElement.scrollTop = 1000;
    await waitForAnimationFrames(2);
    assertPseudoElementProperty(target, "::scroll-marker", "rgb(255, 0, 0)");
  }, "::scroll-marker is not active when its originating element is not scrolled into the view");
  promise_test(async () => {
    scroller.scrollTop = 150;
    await waitForAnimationFrames(2);
    assertPseudoElementProperty(target, "::scroll-marker", "rgb(0, 128, 0)");
  }, "::scroll-marker is active when its originating element is scrolled into the view");
</script>