LibWeb: Check if types have a present and nonzero percentage value

Co-authored-by: Chase Knowlden <haroldknowlden@gmail.com>
Co-authored-by: "tanner.drake" <tanner.drake@protonmail.com>
This commit is contained in:
Gingeh 2024-12-30 07:42:14 +11:00 committed by Andreas Kling
commit 0a6793c89b
Notes: github-actions[bot] 2024-12-30 10:10:08 +00:00
3 changed files with 35 additions and 1 deletions

View file

@ -154,7 +154,7 @@ Optional<CSSNumericType> CSSNumericType::added_to(CSSNumericType const& other) c
}
// If type1 and/or type2 contain "percent" with a non-zero value,
// and type1 and/or type2 contain a key other than "percent" with a non-zero value
if ((type1.exponent(BaseType::Percent) != 0 || type2.exponent(BaseType::Percent) != 0)
if (((type1.exponent(BaseType::Percent).has_value() && type1.exponent(BaseType::Percent) != 0) || (type2.exponent(BaseType::Percent).has_value() && type2.exponent(BaseType::Percent) != 0))
&& (type1.contains_a_key_other_than_percent_with_a_non_zero_value() || type2.contains_a_key_other_than_percent_with_a_non_zero_value())) {
// For each base type other than "percent" hint:
for (auto hint_int = 0; hint_int < to_underlying(BaseType::__Count); ++hint_int) {