From 94ae63c43643b99f1d51d716c2434007c6b01b33 Mon Sep 17 00:00:00 2001 From: Jelle Raaijmakers Date: Thu, 24 Apr 2025 10:13:24 +0200 Subject: [PATCH] LibWeb: Wrap inline children without utilizing a `Vector` No functional changes. --- Libraries/LibWeb/Layout/TreeBuilder.cpp | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/Libraries/LibWeb/Layout/TreeBuilder.cpp b/Libraries/LibWeb/Layout/TreeBuilder.cpp index 88202974f6a..64ef0436b19 100644 --- a/Libraries/LibWeb/Layout/TreeBuilder.cpp +++ b/Libraries/LibWeb/Layout/TreeBuilder.cpp @@ -125,15 +125,14 @@ static Layout::Node& insertion_parent_for_block_node(Layout::NodeWithStyle& layo } // Parent block has inline-level children (our siblings); wrap these siblings into an anonymous wrapper block. - Vector> children; - for (GC::Ptr child = layout_parent.first_child(); child; child = child->next_sibling()) - children.append(*child); - auto wrapper = layout_parent.create_anonymous_wrapper(); wrapper->set_children_are_inline(true); - for (auto child : children) { - layout_parent.remove_child(child); - wrapper->append_child(child); + + for (GC::Ptr child = layout_parent.first_child(); child;) { + GC::Ptr next_child = child->next_sibling(); + layout_parent.remove_child(*child); + wrapper->append_child(*child); + child = next_child; } layout_parent.set_children_are_inline(false);