1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 21:47:45 +00:00

LibWeb: Fix width calculation for floating replaced elements

The path for floating, replaced elements must not fall through to the
path taken for floating, non-replaced elements. The former works like
inline replaced elements, while the latter uses a completely different
algorithm which doesn't account for intrinsic ratio. Falling through
overrides the correct value computed by the former.

Fixes #19061.
This commit is contained in:
Andi Gallo 2023-05-26 13:47:40 +00:00 committed by Andreas Kling
parent 7cc20f4cb5
commit 1e526af430
3 changed files with 11 additions and 5 deletions

View file

@ -8,10 +8,10 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
BlockContainer <div.foo> at (8,16) content-size 1280x800 children: not-inline
BlockContainer <(anonymous)> at (8,16) content-size 1280x0 children: inline
TextNode <#text>
BlockContainer <div> at (8,16) content-size 1280x600 children: not-inline
BlockContainer <div> at (8,16) content-size 1280x400 children: not-inline
BlockContainer <(anonymous)> at (8,16) content-size 1280x0 children: inline
TextNode <#text>
ImageBox <img> at (88,16) content-size 1200x600 floating children: not-inline
ImageBox <img> at (488,16) content-size 800x400 floating children: not-inline
TextNode <#text>
BlockContainer <p> at (8,16) content-size 1280x17.46875 children: inline
line 0 width: 37.21875, height: 17.46875, bottom: 17.46875, baseline: 13.53125
@ -20,7 +20,7 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
TextNode <#text>
BlockContainer <(anonymous)> at (8,49.46875) content-size 1280x0 children: inline
TextNode <#text>
BlockContainer <(anonymous)> at (8,616) content-size 1280x0 children: inline
BlockContainer <(anonymous)> at (8,416) content-size 1280x0 children: inline
TextNode <#text>
BlockContainer <(anonymous)> at (8,816) content-size 784x0 children: inline
TextNode <#text>

View file

@ -8,7 +8,7 @@
}
.foo div {
height: 600px;
height: 400px;
}
.foo div img {