ソースを参照

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.
Andreas Kling 3 年 前
コミット
d2b887a793
1 ファイル変更1 行追加0 行削除
  1. 1 0
      Userland/Libraries/LibWeb/Layout/TreeBuilder.cpp

+ 1 - 0
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()) {
     if (layout_parent.computed_values().display().is_flex_inside()) {
         layout_parent.append_child(layout_parent.create_anonymous_wrapper());
         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())
     if (!has_in_flow_block_children(layout_parent) || layout_parent.children_are_inline())