mirror of
https://github.com/LadybirdBrowser/ladybird
synced 2026-05-01 12:07:14 +02:00
Replace per-frame heap-allocated RefCounted ScrollFrame objects with a single contiguous Vector<ScrollFrame> inside ScrollState. All frames for a viewport are now stored in one allocation, using type-safe ScrollFrameIndex instead of RefPtr pointers. This reduces allocation churn, improves cache locality, and moves parent-chain traversal (cumulative offset, nearest scrolling ancestor) into ScrollState — similar to how visual context nodes were recently consolidated into AccumulatedVisualContextTree.
12 lines
431 B
Plaintext
12 lines
431 B
Plaintext
AccumulatedVisualContext Tree:
|
|
[1] scroll_frame_id=1 (PaintableWithLines(BlockContainer<PRE>#out))
|
|
[2] clip=[28,23 80x70] (PaintableWithLines(BlockContainer<DIV>.clipped))
|
|
|
|
DisplayList:
|
|
SaveLayer@0
|
|
FillRect@2 rect=[8,13 150x150] color=rgb(128, 0, 128)
|
|
DrawGlyphRun@2 rect=[8,13 71x18] translation=[8,26.796875] color=rgb(0, 0, 0)
|
|
DrawGlyphRun@2 rect=[8,31 72x18] translation=[8,44.796875] color=rgb(0, 0, 0)
|
|
Restore@0
|
|
|