mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2026-06-18 15:52:21 +00:00
Canvas frame publishing was tied to CanvasPaintable::paint(), so cached paint commands could replay DrawExternalContent without updating the ExternalContentSource first. That made dynamic canvas content depend on whether the display list was re-recorded for the frame. Move canvas presentation to the rendering update step after animation frame callbacks and layout, immediately before navigables paint. The canvas paintable now only records the external-content draw command, which keeps display-list replay from skipping the resource update. Add a ref test that draws red, lets the display list cache, then draws green on a later animation frame. The final rendering must come from the updated external content source while reusing the cached draw command. |
||
|---|---|---|
| .. | ||
| EventLoop.cpp | ||
| EventLoop.h | ||
| Task.cpp | ||
| Task.h | ||
| TaskQueue.cpp | ||
| TaskQueue.h | ||