mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-10-16 04:59:23 +00:00
LibWeb: Add absolutized
method to CounterDefinitionsStyleValue
This avoids a crash when a counter value relies on relative units
This commit is contained in:
parent
52192a308b
commit
2c7b56511b
Notes:
github-actions[bot]
2025-10-07 09:51:49 +00:00
Author: https://github.com/Calme1709
Commit: 2c7b56511b
Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/6375
Reviewed-by: https://github.com/AtkinsSJ ✅
3 changed files with 36 additions and 0 deletions
|
@ -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())
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue