LibWeb: Invalidate the layout tree on DOM node insertion

This commit is contained in:
Andreas Kling 2023-06-06 06:51:17 +02:00
parent f081a89cd9
commit 3cea86632d
Notes: sideshowbarker 2024-07-16 19:19:26 +09:00
3 changed files with 12 additions and 0 deletions

View file

@ -0,0 +1,2 @@
Hello
friends

View file

@ -0,0 +1,8 @@
<script src="include.js"></script>
<script>
test(() => {
println("Hello");
document.body.offsetWidth // Force a layout
println("friends"); // This will append a text child to the output element, and should update the layout tree.
});
</script>

View file

@ -487,6 +487,8 @@ void Node::insert_before(JS::NonnullGCPtr<Node> node, JS::GCPtr<Node> child, boo
// FIXME: This will need to become smarter when we implement the :has() selector.
invalidate_style();
document().invalidate_layout();
}
// https://dom.spec.whatwg.org/#concept-node-pre-insert