<!DOCTYPE html>
<body></body>
<script src="../../resources/gc.js"></script>
<script type="text/javascript">

const targetCount = 200;
var resizeObserver = new ResizeObserver( entries => {
    for (let entry of entries)
        entry.target.myEntry = entry;

    resizeObserver.disconnect();
    document.querySelectorAll('div').forEach(target => target.remove());
    // Make sure targets be added to m_opaqueRoots.
    gc();
    parent.postMessage('Notified', '*');
});

var container = document.createElement('div');
for (let i = 0; i < targetCount; ++i) {
    var target = document.createElement('div');
    container.appendChild(target);
}
document.body.appendChild(container);

document.querySelectorAll('div').forEach(target => resizeObserver.observe(target));

</script>
</html>