From d2b887a793397a7a22c7ba50e7f6cb704f809446 Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Wed, 13 Jul 2022 01:18:59 +0200 Subject: [PATCH] LibWeb: Only create one wrapper for inline content inside flex container Due to a missing `return` statement, we were creating two anonymous wrapper blocks around each piece of inline content inside a flex container. This had no visual impact, since they ended up with 0x0 dimensions, but we were wasting a fair bit of time running layout on them. --- Userland/Libraries/LibWeb/Layout/TreeBuilder.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/Userland/Libraries/LibWeb/Layout/TreeBuilder.cpp b/Userland/Libraries/LibWeb/Layout/TreeBuilder.cpp index c50b7ae971..46aab132fe 100644 --- a/Userland/Libraries/LibWeb/Layout/TreeBuilder.cpp +++ b/Userland/Libraries/LibWeb/Layout/TreeBuilder.cpp @@ -60,6 +60,7 @@ static Layout::Node& insertion_parent_for_inline_node(Layout::NodeWithStyle& lay if (layout_parent.computed_values().display().is_flex_inside()) { layout_parent.append_child(layout_parent.create_anonymous_wrapper()); + return *layout_parent.last_child(); } if (!has_in_flow_block_children(layout_parent) || layout_parent.children_are_inline())