LibWeb: Use available space to resolve sizes in FFC

If available space is definite it should always match the size of the
containing block. Therefore, there is no need to do containing block
node lookup.
This commit is contained in:
Aliaksandr Kalenik 2024-11-09 20:42:53 +01:00 committed by Andreas Kling
commit dd11d48a1d
Notes: github-actions[bot] 2024-11-10 18:15:48 +00:00
7 changed files with 11 additions and 41 deletions

View file

@ -1655,34 +1655,6 @@ CSSPixels FormattingContext::containing_block_height_for(NodeWithStyleAndBoxMode
VERIFY_NOT_REACHED();
}
AvailableSize FormattingContext::containing_block_width_as_available_size(NodeWithStyleAndBoxModelMetrics const& node) const
{
auto const& used_values = m_state.get(node);
switch (used_values.width_constraint) {
case SizeConstraint::MinContent:
return AvailableSize::make_min_content();
case SizeConstraint::MaxContent:
return AvailableSize::make_max_content();
case SizeConstraint::None:
return AvailableSize::make_definite(used_values.containing_block_used_values()->content_width());
}
VERIFY_NOT_REACHED();
}
AvailableSize FormattingContext::containing_block_height_as_available_size(NodeWithStyleAndBoxModelMetrics const& node) const
{
auto const& used_values = m_state.get(node);
switch (used_values.height_constraint) {
case SizeConstraint::MinContent:
return AvailableSize::make_min_content();
case SizeConstraint::MaxContent:
return AvailableSize::make_max_content();
case SizeConstraint::None:
return AvailableSize::make_definite(used_values.containing_block_used_values()->content_height());
}
VERIFY_NOT_REACHED();
}
// https://drafts.csswg.org/css-sizing-3/#stretch-fit-size
CSSPixels FormattingContext::calculate_stretch_fit_width(Box const& box, AvailableSize const& available_width) const
{