| <!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> |
| |