1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 14:47:44 +00:00

LibWeb/CSS: Fix crashing when calc() is used for border-radius

`BorderRadiusStyleValue::absolutized` should not try to extract length
from LengthPercentage that represents calculated.
This commit is contained in:
Aliaksandr Kalenik 2023-12-31 23:46:59 +01:00 committed by Andreas Kling
parent d8fa226a8f
commit e8f04be3ae
3 changed files with 41 additions and 2 deletions

View file

@ -24,9 +24,9 @@ ValueComparingNonnullRefPtr<StyleValue const> BorderRadiusStyleValue::absolutize
return *this;
auto absolutized_horizontal_radius = m_properties.horizontal_radius;
auto absolutized_vertical_radius = m_properties.vertical_radius;
if (!m_properties.horizontal_radius.is_percentage())
if (m_properties.horizontal_radius.is_length())
absolutized_horizontal_radius = m_properties.horizontal_radius.length().absolutized(viewport_rect, font_metrics, root_font_metrics);
if (!m_properties.vertical_radius.is_percentage())
if (m_properties.vertical_radius.is_length())
absolutized_vertical_radius = m_properties.vertical_radius.length().absolutized(viewport_rect, font_metrics, root_font_metrics);
return BorderRadiusStyleValue::create(absolutized_horizontal_radius, absolutized_vertical_radius);
}