Explorar el Código

LibWeb: Place block-level boxes in both axes before doing inside layout

This ensures that static position calculations has access to final
box offsets.
Andreas Kling hace 2 años
padre
commit
4580e054f5
Se han modificado 1 ficheros con 2 adiciones y 5 borrados
  1. 2 5
      Userland/Libraries/LibWeb/Layout/BlockFormattingContext.cpp

+ 2 - 5
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<ReplacedBox>(box) || is<BlockContainer>(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<ReplacedBox>(box) || is<BlockContainer>(box))
-        place_block_level_element_in_normal_flow_horizontally(box, available_space);
-
     if (is<ListItemBox>(box)) {
         layout_list_item_marker(static_cast<ListItemBox const&>(box));
     }