mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-07-28 11:49:44 +00:00
LibWeb/CSS: Make CalculationNodes ref-counted
Calc simplification (which I'm working towards) involves repeatedly deriving a new calculation tree from an existing one, and in many cases, either the whole result or a portion of it will be identical to that of the original. Using RefPtr lets us avoid making unnecessary copies. As a bonus it will also make it easier to return either `this` or a new node. In future we could also cache commonly-used nodes, similar to how we do so for 1px and 0px LengthStyleValues and various keywords.
This commit is contained in:
parent
385c3d273a
commit
c3d61020e7
Notes:
github-actions[bot]
2025-01-30 18:33:46 +00:00
Author: https://github.com/AtkinsSJ
Commit: c3d61020e7
Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/3383
7 changed files with 185 additions and 185 deletions
|
@ -20,7 +20,7 @@ String EdgeStyleValue::to_string(SerializationMode mode) const
|
|||
// FIXME: Figure out how to get the proper calculation context here
|
||||
CalculationContext context = {};
|
||||
|
||||
Vector<NonnullOwnPtr<CalculationNode>> sum_parts;
|
||||
Vector<NonnullRefPtr<CalculationNode>> sum_parts;
|
||||
sum_parts.append(NumericCalculationNode::create(Percentage(100), context));
|
||||
if (offset().is_length()) {
|
||||
sum_parts.append(NegateCalculationNode::create(NumericCalculationNode::create(offset().length(), context)));
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue