From 4580e054f5c99df9030b4e45b33279d464253de7 Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Wed, 26 Oct 2022 11:32:25 +0200 Subject: [PATCH] LibWeb: Place block-level boxes in both axes before doing inside layout This ensures that static position calculations has access to final box offsets. --- .../Libraries/LibWeb/Layout/BlockFormattingContext.cpp | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/Userland/Libraries/LibWeb/Layout/BlockFormattingContext.cpp b/Userland/Libraries/LibWeb/Layout/BlockFormattingContext.cpp index 0728311c1e..fd7fa26c44 100644 --- a/Userland/Libraries/LibWeb/Layout/BlockFormattingContext.cpp +++ b/Userland/Libraries/LibWeb/Layout/BlockFormattingContext.cpp @@ -369,8 +369,8 @@ void BlockFormattingContext::layout_block_level_box(Box const& box, BlockContain compute_width(box, available_space, layout_mode); - if (is(box) || is(box)) - place_block_level_element_in_normal_flow_vertically(box); + place_block_level_element_in_normal_flow_vertically(box); + place_block_level_element_in_normal_flow_horizontally(box, available_space); if (box_state.has_definite_height()) { compute_height(box, available_space); @@ -393,9 +393,6 @@ void BlockFormattingContext::layout_block_level_box(Box const& box, BlockContain compute_inset(box); - if (is(box) || is(box)) - place_block_level_element_in_normal_flow_horizontally(box, available_space); - if (is(box)) { layout_list_item_marker(static_cast(box)); }