33 lines
1.1 KiB
HTML
33 lines
1.1 KiB
HTML
<!DOCTYPE html>
|
|
<meta name="viewport" content="width=device-width,initial-scale=1">
|
|
<meta name="help" href="https://crbug.com/40895558">
|
|
<script src="/resources/testharness.js"></script>
|
|
<script src="/resources/testharnessreport.js"></script>
|
|
<script src="./resources/intersection-observer-test-utils.js"></script>
|
|
|
|
<div id="target" style="background: green">
|
|
<div id="content" style="height: 100vh"></div>
|
|
</div>
|
|
|
|
<script>
|
|
var entries = [];
|
|
new IntersectionObserver(function(changes) {
|
|
target.style.background = changes[0].isIntersecting ? 'green' : 'red';
|
|
entries = entries.concat(changes);
|
|
}, {root: document}).observe(target);
|
|
|
|
runTestCycle(function() {
|
|
assert_equals(entries.length, 1, "Initial notification");
|
|
runTestCycle(scroll);
|
|
content.style.height = "300vh";
|
|
}, "IntersectionObserver should only report intersection change after the target grows height and is scrolled.");
|
|
|
|
function scroll() {
|
|
runTestCycle(check_no_new_entries);
|
|
window.scrollTo(0, 10000);
|
|
}
|
|
|
|
function check_no_new_entries() {
|
|
assert_equals(entries.length, 1, "No new notifications");
|
|
}
|
|
</script>
|