diff --git a/Libraries/LibWeb/CSS/StyleValues/CalculatedStyleValue.cpp b/Libraries/LibWeb/CSS/StyleValues/CalculatedStyleValue.cpp index 0327f7e37b..de7f542fb3 100644 --- a/Libraries/LibWeb/CSS/StyleValues/CalculatedStyleValue.cpp +++ b/Libraries/LibWeb/CSS/StyleValues/CalculatedStyleValue.cpp @@ -3162,7 +3162,7 @@ Optional CalculatedStyleValue::resolve_valu // NOTE: Any nodes which rely on dynamic state should have been simplified away in absolutized so we can pass a nullptr here auto simplified_tree = simplify_a_calculation_tree(m_calculation, m_context, resolution_context); - if (!is(*simplified_tree)) + if (!is(*simplified_tree) || (simplified_tree->contains_percentage() && m_context.percentages_resolve_as.has_value())) return {}; auto value = try_get_value_with_canonical_unit(simplified_tree, m_context, resolution_context); diff --git a/Tests/LibWeb/Crash/CSS/unresolved-percentage-isnt-considered-resolvable.html b/Tests/LibWeb/Crash/CSS/unresolved-percentage-isnt-considered-resolvable.html new file mode 100644 index 0000000000..1ee74cf025 --- /dev/null +++ b/Tests/LibWeb/Crash/CSS/unresolved-percentage-isnt-considered-resolvable.html @@ -0,0 +1,9 @@ + + +