<!DOCTYPE html>
<meta name="viewport" content="width=device-width,initial-scale=1">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="../resources/intersection-observer-test-utils.js"></script>

<style>
body, html {
  margin: 0;
}
pre, #log {
  position: absolute;
  top: 0;
  left: 200px;
}
.relpos {
  position: relative;
}
</style>

<div id="target" class="relpos">
  <div class="relpos">
    <img border="0" width="100" height="100" src=""/>
  </div>
</div>

<script>
var delay = 100;
var entries = [];
var target;

runTestCycle(function() {
  target = document.getElementById("target");
  assert_true(!!target, "target exists");
  var observer = new IntersectionObserver(function(changes) {
    entries = entries.concat(changes)
  }, {trackVisibility: true, delay: delay});
  observer.observe(target);
  entries = entries.concat(observer.takeRecords());
  assert_equals(entries.length, 0, "No initial notifications.");
  runTestCycle(step0, "First rAF.", delay);
}, "IntersectionObserverV2 observing a position:relative div containing a position:relative child");

function step0() {
  assert_equals(entries.length, 1, "First notification.");
  assert_true(entries[0].isVisible, "Target is visible.");
}
</script>

