1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 06:47:35 +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

@ -91,6 +91,7 @@ class ResolutionStyleValue;
class Screen;
class Selector;
class ShadowStyleValue;
class Size;
class StringStyleValue;
class StyleComputer;
class StyleProperties;