Age | Commit message (Collapse) | Author | |
---|---|---|---|
2023-05-24 | LibWeb: Make CSSPixels and Length use 64-bit (double) floating point | Andreas Kling | |
This fixes a plethora of rounding problems on many websites. In the future, we may want to replace this with fixed-point arithmetic (bug #18566) for performance (and consistency with other engines), but in the meantime this makes the web look a bit better. :^) There's a lot more things that could be converted to doubles, which would reduce the amount of casting necessary in this patch. We can do that incrementally, however. | |||
2023-05-20 | LibWeb: Support <svg> elements with `display: block` | Andreas Kling | |
There are a couple of things that went into this: - We now calculate the intrinsic width/height and aspect ratio of <svg> elements based on the spec algorithm instead of our previous ad-hoc guesswork solution. - Replaced elements with automatic size and intrinsic aspect ratio but no intrinsic dimensions are now sized with the stretch-fit width formula. - We take care to assign both used width and used height to <svg> elements before running their SVG formatting contexts. This ensures that the inside SVG content is laid out with knowledge of its viewport geometry. - We avoid infinite recursion in tentative_height_for_replaced_element() by using the already-calculated used width instead of calling the function that calculates the used width (since that may call us right back again). | |||
2023-05-19 | LibWeb: Fix null dereference on SVG element with bogus fill URL | Andreas Kling | |
Fixes a crash seen on YouTube channel pages. |