Source code

Revision control

Copy as Markdown

Other Tools

Test Info:

<!DOCTYPE HTML>
<html class="test-wait">
<style>
div { content-visibility: auto; }
div::after { content: "Bar" }
</style>
<div>Foo</div>
<div style="height:4000px"></div>
<script>
// Ensure no crash when removing element with generated content after
// `content-visibility: auto` content goes out of view.
requestAnimationFrame(() => {
requestAnimationFrame(() => {
// Let one layout run with the div content in view, then
// scroll it out of view.
document.scrollingElement.scrollTop = 3000;
// Run three frames to ensure a new layout happens with the
// 'auto' content hidden (i.e. layout structures are
// destroyed), then remove the div with a pseudo element which
// was previously problematic.
requestAnimationFrame(() => {
requestAnimationFrame(() => {
requestAnimationFrame(() => {
document.querySelector('div').remove();
document.documentElement.className = '';
})
})
})
})
});
</script>