mirror of
https://github.com/LadybirdBrowser/ladybird
synced 2026-04-27 02:05:07 +02:00
Our recent change to get rid of the "move 1px at a time" algorithm in the float positioning logic introduced the issue that potentially intersecting float boxes were not evaluated in order anymore. This could result in float boxes being pushed down further than strictly necessary. By finding the highest point we can move the floating box to and repeating the process until we're no longer intersecting any floating box, we also solve some edge cases like intersecting with very long floating boxes whose edges lay outside the current box' edges. This is by no means the most efficient solution, but it is more correct than what we had until now. Fixes #4110.
23 lines
1.3 KiB
Plaintext
23 lines
1.3 KiB
Plaintext
Viewport <#document> at (0,0) content-size 800x600 children: not-inline
|
|
BlockContainer <html> at (0,0) content-size 800x216 [BFC] children: not-inline
|
|
BlockContainer <body> at (8,8) content-size 784x200 children: not-inline
|
|
BlockContainer <div.a> at (8,8) content-size 500x200 children: inline
|
|
TextNode <#text>
|
|
BlockContainer <div.b> at (8,8) content-size 200x150 floating [BFC] children: not-inline
|
|
TextNode <#text>
|
|
BlockContainer <div.c> at (308,8) content-size 200x100 floating [BFC] children: not-inline
|
|
TextNode <#text>
|
|
BlockContainer <div.d> at (308,108) content-size 200x100 floating [BFC] children: not-inline
|
|
TextNode <#text>
|
|
BlockContainer <(anonymous)> at (8,208) content-size 784x0 children: inline
|
|
TextNode <#text>
|
|
|
|
ViewportPaintable (Viewport<#document>) [0,0 800x600]
|
|
PaintableWithLines (BlockContainer<HTML>) [0,0 800x216]
|
|
PaintableWithLines (BlockContainer<BODY>) [8,8 784x200]
|
|
PaintableWithLines (BlockContainer<DIV>.a) [8,8 500x200]
|
|
PaintableWithLines (BlockContainer<DIV>.b) [8,8 200x150]
|
|
PaintableWithLines (BlockContainer<DIV>.c) [308,8 200x100]
|
|
PaintableWithLines (BlockContainer<DIV>.d) [308,108 200x100]
|
|
PaintableWithLines (BlockContainer(anonymous)) [8,208 784x0]
|