From 99fbd33d7d887723372e861be27f2743d335ecb5 Mon Sep 17 00:00:00 2001 From: Tim Ledbetter Date: Sun, 28 Jan 2024 11:39:01 +0000 Subject: [PATCH] LibWeb: Make button flex wrapper inherit `min-height` property This ensures that the vertical positioning of button text is correct if a `min-height` property is present. --- .../button-with-min-height.txt | 19 +++++++++++++++++++ .../button-with-min-height.html | 6 ++++++ .../Libraries/LibWeb/Layout/TreeBuilder.cpp | 1 + 3 files changed, 26 insertions(+) create mode 100644 Tests/LibWeb/Layout/expected/block-and-inline/button-with-min-height.txt create mode 100644 Tests/LibWeb/Layout/input/block-and-inline/button-with-min-height.html diff --git a/Tests/LibWeb/Layout/expected/block-and-inline/button-with-min-height.txt b/Tests/LibWeb/Layout/expected/block-and-inline/button-with-min-height.txt new file mode 100644 index 0000000000..6106fbd999 --- /dev/null +++ b/Tests/LibWeb/Layout/expected/block-and-inline/button-with-min-height.txt @@ -0,0 +1,19 @@ +Viewport <#document> at (0,0) content-size 800x600 children: not-inline + BlockContainer at (0,0) content-size 800x120 [BFC] children: not-inline + BlockContainer at (8,8) content-size 784x104 children: inline + frag 0 from BlockContainer start: 0, length: 0, rect: [13,10 143.515625x100] baseline: 54.796875 + BlockContainer + diff --git a/Userland/Libraries/LibWeb/Layout/TreeBuilder.cpp b/Userland/Libraries/LibWeb/Layout/TreeBuilder.cpp index 38ae3e7dc8..2fcca5ae9f 100644 --- a/Userland/Libraries/LibWeb/Layout/TreeBuilder.cpp +++ b/Userland/Libraries/LibWeb/Layout/TreeBuilder.cpp @@ -416,6 +416,7 @@ ErrorOr TreeBuilder::create_layout_tree(DOM::Node& dom_node, TreeBuilder:: mutable_flex_computed_values.set_justify_content(CSS::JustifyContent::Center); mutable_flex_computed_values.set_flex_direction(CSS::FlexDirection::Column); mutable_flex_computed_values.set_height(CSS::Size::make_percentage(CSS::Percentage(100))); + mutable_flex_computed_values.set_min_height(parent.computed_values().min_height()); auto flex_wrapper = parent.heap().template allocate_without_realm(parent.document(), nullptr, move(flex_computed_values)); auto content_box_computed_values = parent.computed_values().clone_inherited_values();