mirror of
https://github.com/LadybirdBrowser/ladybird
synced 2026-04-30 11:37:16 +02:00
LibWeb: Add absolutized method to CounterDefinitionsStyleValue
This avoids a crash when a counter value relies on relative units
This commit is contained in:
Notes:
github-actions[bot]
2025-10-07 09:51:49 +00:00
Author: https://github.com/Calme1709 Commit: https://github.com/LadybirdBrowser/ladybird/commit/2c7b56511bd Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/6375 Reviewed-by: https://github.com/AtkinsSJ ✅
@@ -29,6 +29,26 @@ String CounterDefinitionsStyleValue::to_string(SerializationMode mode) const
|
||||
return stb.to_string_without_validation();
|
||||
}
|
||||
|
||||
ValueComparingNonnullRefPtr<StyleValue const> CounterDefinitionsStyleValue::absolutized(ComputationContext const& computation_context) const
|
||||
{
|
||||
Vector<CounterDefinition> computed_definitions;
|
||||
|
||||
for (auto specified_definition : m_counter_definitions) {
|
||||
CounterDefinition computed_definition {
|
||||
.name = specified_definition.name,
|
||||
.is_reversed = specified_definition.is_reversed,
|
||||
.value = nullptr
|
||||
};
|
||||
|
||||
if (specified_definition.value)
|
||||
computed_definition.value = specified_definition.value->absolutized(computation_context);
|
||||
|
||||
computed_definitions.append(computed_definition);
|
||||
}
|
||||
|
||||
return CounterDefinitionsStyleValue::create(computed_definitions);
|
||||
}
|
||||
|
||||
bool CounterDefinitionsStyleValue::properties_equal(CounterDefinitionsStyleValue const& other) const
|
||||
{
|
||||
if (m_counter_definitions.size() != other.counter_definitions().size())
|
||||
|
||||
Reference in New Issue
Block a user