1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 16:17:45 +00:00

LibWeb: Add CSS::Percentage, PercentageOr and LengthPercentage types

Length and Percentage are different types, and sometimes only one or the
other is allowed in a given CSS property. This is a first step towards
separating them.
This commit is contained in:
Sam Atkins 2022-01-14 12:23:54 +00:00 committed by Andreas Kling
parent 71ab8fb757
commit 01b57fa8b7
5 changed files with 158 additions and 2 deletions

View file

@ -311,8 +311,9 @@ bool property_accepts_value(PropertyID property_id, StyleValue& style_value)
return true;
)~~~");
} else if (type_name == "percentage") {
// FIXME: Detecting lengths here is temporary until Length/Percentage are fully separated.
property_generator.append(R"~~~(
if ((style_value.has_length() && style_value.to_length().is_percentage()) || style_value.is_calculated())
if (style_value.is_percentage() || style_value.is_calculated() || (style_value.has_length() && !style_value.to_length().is_percentage()))
return true;
)~~~");
} else if (type_name == "number" || type_name == "integer") {