| <!DOCTYPE html> | |
| <script src="../resources/testharness.js"></script> | |
| <script src="../resources/testharnessreport.js"></script> | |
| <script> | |
| if (window.internals) { | |
| // Disable timers that trigger delayed flushes, since these will make | |
| // this test pass spuriously, even if IntersectionObserver never | |
| // schedules any rendering updates. | |
| internals.setSpeculativeTilingDelayDisabledForTesting(true); | |
| internals.disableTileSizeUpdateDelay(); | |
| } | |
| window.onload = function() { | |
| async_test((t) => { | |
| var observer = new IntersectionObserver(t.step_func_done(() => { | |
| observer.disconnect(); | |
| })); | |
| requestAnimationFrame(() => { | |
| requestAnimationFrame(() => { | |
| setTimeout(() => { | |
| observer.observe(document.getElementById("target")); | |
| }, 0); | |
| }); | |
| }); | |
| }, "An initial observation is fired even when nothing else triggers rendering"); | |
| }; | |
| </script> | |
| <style> | |
| #target { | |
| width: 100px; | |
| height: 100px; | |
| background-color: green; | |
| } | |
| </style> | |
| <div id="target"></div> | |