1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-28 04:07:46 +00:00

LibWeb: Add CSS::Size to represent the full range of CSS size values

Until now, we've been using CSS::LengthPercentage, sometimes wrapped in
Optional, to represent CSS sizes.

This meant we could not support modern values like `min-content`,
`max-content`, `fit-content(<length>)`. We were also conflating `none`
and `auto` which made the `min-*` and `max-*` properties confusing.

The new CSS::Size class covers all possible size values as individual
substates. It'll be quite a bit of work to make all layout code aware of
the additional features, this patch merely makes the new type available.
This commit is contained in:
Andreas Kling 2022-09-25 15:13:09 +02:00
parent 04b1d32b70
commit ba78fe008f
4 changed files with 146 additions and 0 deletions

View file

@ -57,6 +57,7 @@ set(SOURCES
CSS/Selector.cpp
CSS/SelectorEngine.cpp
CSS/Serialize.cpp
CSS/Size.cpp
CSS/StyleComputer.cpp
CSS/StyleProperties.cpp
CSS/StyleSheet.cpp