mirror of
https://github.com/servo/servo.git
synced 2025-07-28 17:50:37 +01:00
Instead of a tricky stack of enum iterators expose a `foreach()` function on InlineFormattingContext, which takes a `FnMut`. This prevents callers wanting to iterate from keeping a stack of iterators and will potentially allow a future version of this function to avoid borrowing the ArcRefCell<...> of inline boxes for every iteration (presumably using something like OwnedRef). Convert `inline_content_sizes` to use this new `foreach()` function and move the `Computation` out of the function body to `ContentSizesComputation`. This reduces the stack depth of inline size computation, because `foreach()` is iterative and not recursive. This is a preliminary change to removing the second round of text shaping during layout, because shaping will use this new iterator. |
||
---|---|---|
.. | ||
display_list | ||
flexbox | ||
flow | ||
fragment_tree | ||
table | ||
tests | ||
Cargo.toml | ||
cell.rs | ||
context.rs | ||
dom.rs | ||
dom_traversal.rs | ||
formatting_contexts.rs | ||
geom.rs | ||
layout_debug.rs | ||
lib.rs | ||
lists.rs | ||
positioned.rs | ||
query.rs | ||
replaced.rs | ||
sizing.rs | ||
style_ext.rs | ||
traversal.rs |