Files
ladybird/Tests/LibWeb/Text/expected/display_list/scrollable-in-fixed.txt
Aliaksandr Kalenik 3012c0fe72 LibWeb: Store scroll frames by value in contiguous storage
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.
2026-03-12 12:06:40 +01:00

16 lines
504 B
Plaintext

AccumulatedVisualContext Tree:
[2] clip=[33,33 180x100]
[3] scroll_frame_id=2 (PaintableWithLines(BlockContainer(anonymous)))
DisplayList:
SaveLayer@0
FillRect@0 rect=[20,20 204x154] color=rgb(211, 211, 211)
FillPath@0 path_bounding_rect=[20,20 204x154]
FillPath@0 path_bounding_rect=[32,32 182x102]
FillRect@3 rect=[33,33 300x200] color=rgb(240, 128, 128)
DrawGlyphRun@3 rect=[33,33 179x18] translation=[33,46.796875] color=rgb(0, 0, 0)
PaintScrollBar@0
PaintScrollBar@0
Restore@0