diff --git a/Tests/LibWeb/Layout/expected/block-and-inline/inline-block-contained-by-abspos-element.txt b/Tests/LibWeb/Layout/expected/block-and-inline/inline-block-contained-by-abspos-element.txt new file mode 100644 index 0000000000..9f0445f7f7 --- /dev/null +++ b/Tests/LibWeb/Layout/expected/block-and-inline/inline-block-contained-by-abspos-element.txt @@ -0,0 +1,35 @@ +Viewport <#document> at (0,0) content-size 800x600 children: not-inline + BlockContainer at (1,1) content-size 798x20 [BFC] children: not-inline + BlockContainer at (10,10) content-size 780x2 children: not-inline + BlockContainer
at (11,11) content-size 500x0 positioned children: not-inline + BlockContainer

at (12,45.5) content-size 498x330.53125 positioned [BFC] children: inline + line 0 width: 498, height: 330.53125, bottom: 330.53125, baseline: 43.28125 + frag 0 from BlockContainer start: 0, length: 0, rect: [13,46.5 496x328.53125] + BlockContainer at (13,46.5) content-size 496x328.53125 inline-block [BFC] children: inline + line 0 width: 246.484375, height: 54.59375, bottom: 54.59375, baseline: 42.28125 + frag 0 from TextNode start: 0, length: 9, rect: [13,46.5 246.484375x54.59375] + "Skew is a" + line 1 width: 240.53125, height: 55.1875, bottom: 109.78125, baseline: 42.28125 + frag 0 from TextNode start: 10, length: 10, rect: [13,100.5 240.53125x54.59375] + "web-first," + line 2 width: 377.9375, height: 54.78125, bottom: 163.96875, baseline: 42.28125 + frag 0 from TextNode start: 21, length: 14, rect: [13,155.5 377.9375x54.59375] + "cross-platform" + line 3 width: 314.015625, height: 55.375, bottom: 219.15625, baseline: 42.28125 + frag 0 from TextNode start: 36, length: 11, rect: [13,209.5 314.015625x54.59375] + "programming" + line 4 width: 415.734375, height: 54.96875, bottom: 273.34375, baseline: 42.28125 + frag 0 from TextNode start: 48, length: 16, rect: [13,264.5 415.734375x54.59375] + "language with an" + line 5 width: 492.671875, height: 55.5625, bottom: 328.53125, baseline: 42.28125 + frag 0 from TextNode start: 65, length: 20, rect: [13,318.5 492.671875x54.59375] + "optimizing compiler." + TextNode <#text> + +ViewportPaintable (Viewport<#document>) [0,0 800x600] + PaintableWithLines (BlockContainer) [0,0 800x22] overflow: [1,1 798x376.03125] + PaintableWithLines (BlockContainer) [9,9 782x4] overflow: [10,10 780x367.03125] + PaintableWithLines (BlockContainer
) [10,10 502x2] overflow: [11,44.5 500x332.53125] + PaintableWithLines (BlockContainer

) [11,44.5 500x332.53125] + PaintableWithLines (BlockContainer) [12,45.5 498x330.53125] + TextPaintable (TextNode<#text>) diff --git a/Tests/LibWeb/Layout/input/block-and-inline/inline-block-contained-by-abspos-element.html b/Tests/LibWeb/Layout/input/block-and-inline/inline-block-contained-by-abspos-element.html new file mode 100644 index 0000000000..5776497b72 --- /dev/null +++ b/Tests/LibWeb/Layout/input/block-and-inline/inline-block-contained-by-abspos-element.html @@ -0,0 +1,18 @@ +

Skew is a web-first, cross-platform programming language with an optimizing compiler.

\ No newline at end of file diff --git a/Userland/Libraries/LibWeb/Layout/InlineFormattingContext.cpp b/Userland/Libraries/LibWeb/Layout/InlineFormattingContext.cpp index 98e577146e..e5b5d0cebe 100644 --- a/Userland/Libraries/LibWeb/Layout/InlineFormattingContext.cpp +++ b/Userland/Libraries/LibWeb/Layout/InlineFormattingContext.cpp @@ -144,6 +144,8 @@ void InlineFormattingContext::dimension_box_on_line(Box const& box, LayoutMode l - box_state.margin_right; unconstrained_width = min(max(result.preferred_minimum_width, available_width), result.preferred_width); + } else if (m_available_space->width.is_min_content()) { + unconstrained_width = result.preferred_minimum_width; } else { unconstrained_width = result.preferred_width; }