mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 17:57:35 +00:00
LibWeb: Modernize handling of the CSS flex-basis property
Instead of a custom struct, use an AK::Variant for flex-basis. A flex-basis is either `content` or a CSS size value, so we don't need anything custom for that. By using a CSS size, we also avoid having to convert in and out of size in various places, simplifying the code. This finally gets rid of the "Unsupported main size for flex-basis" debug spam. :^)
This commit is contained in:
parent
8c980cf75b
commit
8648355783
6 changed files with 44 additions and 89 deletions
|
@ -327,26 +327,14 @@ Optional<CSS::FlexWrap> StyleProperties::flex_wrap() const
|
|||
return value_id_to_flex_wrap(value->to_identifier());
|
||||
}
|
||||
|
||||
Optional<CSS::FlexBasisData> StyleProperties::flex_basis() const
|
||||
Optional<CSS::FlexBasis> StyleProperties::flex_basis() const
|
||||
{
|
||||
auto value = property(CSS::PropertyID::FlexBasis);
|
||||
|
||||
if (value->is_identifier() && value->to_identifier() == CSS::ValueID::Content)
|
||||
return { { CSS::FlexBasis::Content, {} } };
|
||||
return CSS::FlexBasisContent {};
|
||||
|
||||
if (value->has_auto())
|
||||
return { { CSS::FlexBasis::Auto, {} } };
|
||||
|
||||
if (value->is_percentage())
|
||||
return { { CSS::FlexBasis::LengthPercentage, value->as_percentage().percentage() } };
|
||||
|
||||
if (value->is_length())
|
||||
return { { CSS::FlexBasis::LengthPercentage, value->as_length().length() } };
|
||||
|
||||
if (value->is_calculated())
|
||||
return { { CSS::FlexBasis::LengthPercentage, CSS::LengthPercentage { value->as_calculated() } } };
|
||||
|
||||
return {};
|
||||
return size_value(CSS::PropertyID::FlexBasis);
|
||||
}
|
||||
|
||||
float StyleProperties::flex_grow() const
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue