diff --git a/Tests/LibWeb/Layout/expected/block-and-inline/block-with-fit-content-width.txt b/Tests/LibWeb/Layout/expected/block-and-inline/block-with-fit-content-width.txt new file mode 100644 index 00000000000..36f65eca775 --- /dev/null +++ b/Tests/LibWeb/Layout/expected/block-and-inline/block-with-fit-content-width.txt @@ -0,0 +1,10 @@ +Viewport <#document> at (0,0) content-size 800x600 children: not-inline + BlockContainer at (1,1) content-size 798x37.46875 [BFC] children: not-inline + BlockContainer at (10,10) content-size 780x19.46875 children: not-inline + BlockContainer at (11,11) content-size 138.28125x17.46875 children: inline + line 0 width: 138.28125, height: 17.46875, bottom: 17.46875, baseline: 13.53125 + frag 0 from TextNode start: 0, length: 18, rect: [11,11 138.28125x17.46875] + "Well hello friends" + TextNode <#text> + BlockContainer <(anonymous)> at (10,29.46875) content-size 780x0 children: inline + TextNode <#text> diff --git a/Tests/LibWeb/Layout/input/block-and-inline/block-with-fit-content-width.html b/Tests/LibWeb/Layout/input/block-and-inline/block-with-fit-content-width.html new file mode 100644 index 00000000000..9faaaa28981 --- /dev/null +++ b/Tests/LibWeb/Layout/input/block-and-inline/block-with-fit-content-width.html @@ -0,0 +1,8 @@ +
Well hello friends
diff --git a/Userland/Libraries/LibWeb/Layout/FormattingContext.cpp b/Userland/Libraries/LibWeb/Layout/FormattingContext.cpp index 638300eb23e..3a7cefe4577 100644 --- a/Userland/Libraries/LibWeb/Layout/FormattingContext.cpp +++ b/Userland/Libraries/LibWeb/Layout/FormattingContext.cpp @@ -1347,6 +1347,9 @@ CSS::Length FormattingContext::calculate_inner_width(Layout::Box const& box, Ava if (width.is_auto()) { return width.resolved(box, width_of_containing_block_as_length_for_resolve); } + if (width.is_fit_content()) { + return CSS::Length::make_px(calculate_fit_content_width(box, AvailableSpace { available_width, AvailableSize::make_indefinite() })); + } auto& computed_values = box.computed_values(); if (computed_values.box_sizing() == CSS::BoxSizing::BorderBox) {