mirror of
https://github.com/RGBCube/serenity
synced 2025-07-26 07:47:37 +00:00
LibWeb: Allow BFC auto height calculation on any Layout::Box
This algorithm is reused in abspos sizing, and so should not be specific to block containers (even if the name suggests it.)
This commit is contained in:
parent
a1d37420d5
commit
d5480a44e5
3 changed files with 6 additions and 6 deletions
|
@ -387,7 +387,7 @@ static bool margins_collapse_through(Box const& box, LayoutState& state)
|
|||
CSSPixels BlockFormattingContext::compute_auto_height_for_block_level_element(Box const& box, AvailableSpace const& available_space)
|
||||
{
|
||||
if (creates_block_formatting_context(box)) {
|
||||
return compute_auto_height_for_block_formatting_context_root(verify_cast<BlockContainer>(box));
|
||||
return compute_auto_height_for_block_formatting_context_root(box);
|
||||
}
|
||||
|
||||
auto const& box_state = m_state.get(box);
|
||||
|
|
|
@ -275,7 +275,7 @@ static CSSPixelSize solve_replaced_size_constraint(LayoutState const& state, CSS
|
|||
}
|
||||
|
||||
// https://www.w3.org/TR/CSS22/visudet.html#root-height
|
||||
CSSPixels FormattingContext::compute_auto_height_for_block_formatting_context_root(BlockContainer const& root) const
|
||||
CSSPixels FormattingContext::compute_auto_height_for_block_formatting_context_root(Box const& root) const
|
||||
{
|
||||
// 10.6.7 'Auto' heights for block formatting context roots
|
||||
Optional<CSSPixels> top;
|
||||
|
@ -716,7 +716,7 @@ void FormattingContext::compute_height_for_absolutely_positioned_non_replaced_el
|
|||
top = CSS::Length::make_px(static_position.y());
|
||||
|
||||
// and finally apply rule number three below.
|
||||
height = CSS::Size::make_px(compute_auto_height_for_block_formatting_context_root(verify_cast<BlockContainer>(box)));
|
||||
height = CSS::Size::make_px(compute_auto_height_for_block_formatting_context_root(box));
|
||||
solve_for_bottom();
|
||||
}
|
||||
|
||||
|
@ -761,7 +761,7 @@ void FormattingContext::compute_height_for_absolutely_positioned_non_replaced_el
|
|||
return;
|
||||
|
||||
// then the height is based on the Auto heights for block formatting context roots,
|
||||
height = CSS::Size::make_px(compute_auto_height_for_block_formatting_context_root(verify_cast<BlockContainer>(box)));
|
||||
height = CSS::Size::make_px(compute_auto_height_for_block_formatting_context_root(box));
|
||||
|
||||
// and solve for top.
|
||||
solve_for_top();
|
||||
|
@ -783,7 +783,7 @@ void FormattingContext::compute_height_for_absolutely_positioned_non_replaced_el
|
|||
return;
|
||||
|
||||
// then the height is based on the Auto heights for block formatting context roots,
|
||||
height = CSS::Size::make_px(compute_auto_height_for_block_formatting_context_root(verify_cast<BlockContainer>(box)));
|
||||
height = CSS::Size::make_px(compute_auto_height_for_block_formatting_context_root(box));
|
||||
|
||||
// and solve for bottom.
|
||||
solve_for_bottom();
|
||||
|
|
|
@ -102,7 +102,7 @@ protected:
|
|||
|
||||
static CSSPixels tentative_width_for_replaced_element(LayoutState const&, ReplacedBox const&, CSS::Size const& computed_width, AvailableSpace const&);
|
||||
static CSSPixels tentative_height_for_replaced_element(LayoutState const&, ReplacedBox const&, CSS::Size const& computed_height, AvailableSpace const&);
|
||||
CSSPixels compute_auto_height_for_block_formatting_context_root(BlockContainer const&) const;
|
||||
CSSPixels compute_auto_height_for_block_formatting_context_root(Box const&) const;
|
||||
|
||||
ShrinkToFitResult calculate_shrink_to_fit_widths(Box const&);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue