mirror of
https://github.com/LadybirdBrowser/ladybird
synced 2026-05-01 03:57:15 +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.
26 lines
1.6 KiB
Plaintext
26 lines
1.6 KiB
Plaintext
AccumulatedVisualContext Tree:
|
|
[1] scroll_frame_id=1 (PaintableWithLines(BlockContainer<PRE>#out))
|
|
[2] clip=[10,10 320x270] (PaintableWithLines(BlockContainer<DIV>.level2))
|
|
[3] clip=[21,21 143x248] (PaintableWithLines(BlockContainer(anonymous)))
|
|
[4] transform=[0.9986295,-0.05233596,0.05233596,0.9986295,0,0] origin=(92.5,46) (PaintableWithLines(BlockContainer<DIV>.level3.t1))
|
|
[5] transform=[0.9986295,0.05233596,-0.05233596,0.9986295,0,0] origin=(92.5,91) (PaintableWithLines(BlockContainer<DIV>.level3.t2))
|
|
[6] clip=[176,21 143x248] (PaintableWithLines(BlockContainer(anonymous)))
|
|
[7] transform=[0.95,0,0,0.95,0,0] origin=(247.5,46) (PaintableWithLines(BlockContainer<DIV>.level3.t3))
|
|
[8] transform=[1.05,0,0,1.05,0,0] origin=(247.5,91) (PaintableWithLines(BlockContainer<DIV>.level3.t4))
|
|
|
|
DisplayList:
|
|
SaveLayer@0
|
|
FillPath@1 path_bounding_rect=[8,8 324x274]
|
|
FillPath@2 path_bounding_rect=[20,20 145x250]
|
|
FillPath@2 path_bounding_rect=[175,20 145x250]
|
|
FillRect@4 rect=[26,26 133x40] color=rgb(255, 136, 136)
|
|
DrawGlyphRun@4 rect=[26,26 20x18] translation=[26,39.796875] color=rgb(0, 0, 0)
|
|
FillRect@5 rect=[26,71 133x40] color=rgb(136, 255, 136)
|
|
DrawGlyphRun@5 rect=[26,71 22x18] translation=[26,84.796875] color=rgb(0, 0, 0)
|
|
FillRect@7 rect=[181,26 133x40] color=rgb(136, 136, 255)
|
|
DrawGlyphRun@7 rect=[181,26 22x18] translation=[181,39.796875] color=rgb(0, 0, 0)
|
|
FillRect@8 rect=[181,71 133x40] color=rgb(255, 255, 136)
|
|
DrawGlyphRun@8 rect=[181,71 25x18] translation=[181,84.796875] color=rgb(0, 0, 0)
|
|
Restore@0
|
|
|