From fc8c4ea23f44fdabdb3df3e93b4911eb3e38811f Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Mon, 11 Apr 2022 01:04:09 +0200 Subject: [PATCH] LibWeb: Let BFC compute width for block-level replaced elements We never really hit this code path before, but now that IMG elements can be block-level, we need to get them hooked up with box model metrics. --- .../Libraries/LibWeb/Layout/BlockFormattingContext.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/Userland/Libraries/LibWeb/Layout/BlockFormattingContext.cpp b/Userland/Libraries/LibWeb/Layout/BlockFormattingContext.cpp index c7fdae06a6..342ad88f9f 100644 --- a/Userland/Libraries/LibWeb/Layout/BlockFormattingContext.cpp +++ b/Userland/Libraries/LibWeb/Layout/BlockFormattingContext.cpp @@ -87,7 +87,7 @@ void BlockFormattingContext::compute_width(Box const& box, LayoutMode layout_mod // FIXME: This const_cast is gross. const_cast(replaced).prepare_for_replaced_layout(); compute_width_for_block_level_replaced_element_in_normal_flow(replaced); - return; + // NOTE: We don't return here. } if (box.is_floating()) { @@ -232,7 +232,10 @@ void BlockFormattingContext::compute_width(Box const& box, LayoutMode layout_mod } auto& box_state = m_state.get_mutable(box); - box_state.content_width = used_width.to_px(box); + + if (!is(box)) + box_state.content_width = used_width.to_px(box); + box_state.margin_left = margin_left.to_px(box); box_state.margin_right = margin_right.to_px(box); box_state.border_left = computed_values.border_left().width;