mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-07-28 19:59:17 +00:00
LibWeb: Stop treating intrinsic size keywords as auto
in CSS heights
This commit introduces proper handling of three intrinsic size keywords when used for CSS heights: - min-content - max-content - fit-content This necessitated a few plumbing changes, since we can't resolve these values without having access to containing block widths. This fixes some visual glitches on https://www.supabase.com/ as well as a number of WPT tests. It also improves the appearance of dialogs.
This commit is contained in:
parent
f093a8af67
commit
fbe9395928
Notes:
github-actions[bot]
2024-11-21 18:22:42 +00:00
Author: https://github.com/awesomekling
Commit: fbe9395928
Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/2484
10 changed files with 120 additions and 104 deletions
|
@ -185,13 +185,11 @@ void InlineFormattingContext::dimension_box_on_line(Box const& box, LayoutMode l
|
|||
|
||||
auto independent_formatting_context = layout_inside(box, layout_mode, box_state.available_inner_space_or_constraints_from(*m_available_space));
|
||||
|
||||
auto const& height_value = box.computed_values().height();
|
||||
if (should_treat_height_as_auto(box, *m_available_space)) {
|
||||
// FIXME: (10.6.6) If 'height' is 'auto', the height depends on the element's descendants per 10.6.7.
|
||||
parent().resolve_used_height_if_treated_as_auto(box, AvailableSpace(AvailableSize::make_indefinite(), AvailableSize::make_indefinite()));
|
||||
parent().resolve_used_height_if_treated_as_auto(box, *m_available_space);
|
||||
} else {
|
||||
auto inner_height = calculate_inner_height(box, AvailableSize::make_definite(m_containing_block_used_values.content_height()), height_value);
|
||||
box_state.set_content_height(inner_height);
|
||||
parent().resolve_used_height_if_not_treated_as_auto(box, *m_available_space);
|
||||
}
|
||||
|
||||
if (independent_formatting_context)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue