From 3cea86632d8442ecda805ec588be85f79aae936e Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Tue, 6 Jun 2023 06:51:17 +0200 Subject: [PATCH] LibWeb: Invalidate the layout tree on DOM node insertion --- .../expected/append-child-must-update-layout-tree.txt | 2 ++ .../Text/input/append-child-must-update-layout-tree.html | 8 ++++++++ Userland/Libraries/LibWeb/DOM/Node.cpp | 2 ++ 3 files changed, 12 insertions(+) create mode 100644 Tests/LibWeb/Text/expected/append-child-must-update-layout-tree.txt create mode 100644 Tests/LibWeb/Text/input/append-child-must-update-layout-tree.html diff --git a/Tests/LibWeb/Text/expected/append-child-must-update-layout-tree.txt b/Tests/LibWeb/Text/expected/append-child-must-update-layout-tree.txt new file mode 100644 index 0000000000..51fe249b9c --- /dev/null +++ b/Tests/LibWeb/Text/expected/append-child-must-update-layout-tree.txt @@ -0,0 +1,2 @@ +Hello +friends diff --git a/Tests/LibWeb/Text/input/append-child-must-update-layout-tree.html b/Tests/LibWeb/Text/input/append-child-must-update-layout-tree.html new file mode 100644 index 0000000000..8bd7944db0 --- /dev/null +++ b/Tests/LibWeb/Text/input/append-child-must-update-layout-tree.html @@ -0,0 +1,8 @@ + + diff --git a/Userland/Libraries/LibWeb/DOM/Node.cpp b/Userland/Libraries/LibWeb/DOM/Node.cpp index 15fa30d4aa..0fa190b776 100644 --- a/Userland/Libraries/LibWeb/DOM/Node.cpp +++ b/Userland/Libraries/LibWeb/DOM/Node.cpp @@ -487,6 +487,8 @@ void Node::insert_before(JS::NonnullGCPtr node, JS::GCPtr 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