LibWeb: Change inline float clearance to not reset margin collapsing

When a block container has `clear` set and some clearance is applied,
that clearance prevents margins from adjoining and therefore resets
the margin state. But when a floating box has `clear` set, that
clearance only goes between floating boxes so should not reset margin
state. BlockFormattingContexts already do that correctly, and this PR
changes InlineFormattingContext to do the same.

Fixes #1462; adds reduced input from that issue as test.
This commit is contained in:
Pavel Panchekha 2024-09-20 12:53:45 -06:00 committed by Alexander Kalenik
commit 9075f64cac
Notes: github-actions[bot] 2024-09-20 23:56:34 +00:00
3 changed files with 39 additions and 3 deletions

View file

@ -0,0 +1,26 @@
Viewport <#document> at (0,0) content-size 800x600 children: not-inline
BlockContainer <html> at (0,0) content-size 800x73 [BFC] children: not-inline
BlockContainer <body> at (9,9) content-size 687.5x48 children: not-inline
BlockContainer <(anonymous)> at (9,9) content-size 687.5x0 children: inline
TextNode <#text>
BlockContainer <div#A> at (9,9) content-size 687.5x16 children: not-inline
BlockContainer <(anonymous)> at (9,41) content-size 687.5x0 children: inline
TextNode <#text>
BlockContainer <div#B> at (648.5,41) content-size 48x16 floating [BFC] children: not-inline
TextNode <#text>
BlockContainer <div#C> at (648.5,57) content-size 48x16 floating [BFC] children: not-inline
TextNode <#text>
BlockContainer <div#D> at (9,41) content-size 687.5x16 children: not-inline
BlockContainer <(anonymous)> at (9,57) content-size 687.5x0 children: inline
TextNode <#text>
ViewportPaintable (Viewport<#document>) [0,0 800x600]
PaintableWithLines (BlockContainer<HTML>) [0,0 800x73]
PaintableWithLines (BlockContainer<BODY>) [8,8 689.5x50]
PaintableWithLines (BlockContainer(anonymous)) [9,9 687.5x0]
PaintableWithLines (BlockContainer<DIV>#A) [9,9 687.5x16]
PaintableWithLines (BlockContainer(anonymous)) [9,41 687.5x0]
PaintableWithLines (BlockContainer<DIV>#B) [648.5,41 48x16]
PaintableWithLines (BlockContainer<DIV>#C) [648.5,57 48x16]
PaintableWithLines (BlockContainer<DIV>#D) [9,41 687.5x16]
PaintableWithLines (BlockContainer(anonymous)) [9,57 687.5x0]