Explorar o código

LibWeb: Only assign block container heights during BFC intrinsic sizing

Before this change, we were always assigning the calculated height to
each block container after laying it out in BFC.

This should really only happen during intrinsic sizing, since that is
how measurements are communicated to the client there.
Andreas Kling hai 1 ano
pai
achega
b83e41c9b5

+ 2 - 4
Userland/Libraries/LibWeb/Layout/BlockFormattingContext.cpp

@@ -549,9 +549,8 @@ void BlockFormattingContext::layout_inline_children(BlockContainer const& block_
                 used_width_px = min_width_px;
                 used_width_px = min_width_px;
         }
         }
         block_container_state.set_content_width(used_width_px);
         block_container_state.set_content_width(used_width_px);
-    }
-    if (!block_container_state.has_definite_height())
         block_container_state.set_content_height(context.automatic_content_height());
         block_container_state.set_content_height(context.automatic_content_height());
+    }
 }
 }
 
 
 CSSPixels BlockFormattingContext::compute_auto_height_for_block_level_element(Box const& box, AvailableSpace const& available_space)
 CSSPixels BlockFormattingContext::compute_auto_height_for_block_level_element(Box const& box, AvailableSpace const& available_space)
@@ -774,9 +773,8 @@ void BlockFormattingContext::layout_block_level_children(BlockContainer const& b
                 }
                 }
             }
             }
             block_container_state.set_content_width(width);
             block_container_state.set_content_width(width);
-        }
-        if (!block_container_state.has_definite_height())
             block_container_state.set_content_height(bottom_of_lowest_margin_box);
             block_container_state.set_content_height(bottom_of_lowest_margin_box);
+        }
     }
     }
 }
 }