LibWeb: Fix calculating the corner radius values for SVG <rect>

Previously, this would treat having both rx and ry set as if just rx
was set. The checks are now updated to match the spec comments above
them :).
This commit is contained in:
MacDue 2023-08-05 01:45:50 +01:00 committed by Andreas Kling
parent d95f1deade
commit a01a2f712e

View file

@ -132,12 +132,12 @@ Gfx::FloatSize SVGRectElement::calculate_used_corner_radius_values() const
ry = 0;
}
// 3. Otherwise, if a properly specified value is provided for rx, but not for ry, then set both rx and ry to the value of rx.
else if (m_radius_x.has_value()) {
else if (m_radius_x.has_value() && !m_radius_y.has_value()) {
rx = m_radius_x.value();
ry = m_radius_x.value();
}
// 4. Otherwise, if a properly specified value is provided for ry, but not for rx, then set both rx and ry to the value of ry.
else if (m_radius_y.has_value()) {
else if (m_radius_y.has_value() && !m_radius_x.has_value()) {
rx = m_radius_y.value();
ry = m_radius_y.value();
}