Ladybird+LibWebView: Remember the size of the last paint

This will allow us to change the size of the backing store bitmap
without conflating the size of the bitmap and the size of the paint.
This commit is contained in:
Andreas Kling 2023-05-14 18:53:29 +02:00
commit def37e65f3
Notes: sideshowbarker 2024-07-16 23:34:44 +09:00
7 changed files with 11 additions and 8 deletions

View file

@ -205,11 +205,12 @@ void OutOfProcessWebView::screen_rects_change_event(GUI::ScreenRectsChangeEvent&
client().async_update_screen_rects(event.rects(), event.main_screen_index());
}
void OutOfProcessWebView::notify_server_did_paint(Badge<WebContentClient>, i32 bitmap_id)
void OutOfProcessWebView::notify_server_did_paint(Badge<WebContentClient>, i32 bitmap_id, Gfx::IntSize size)
{
if (m_client_state.back_bitmap.id == bitmap_id) {
m_client_state.has_usable_bitmap = true;
m_client_state.back_bitmap.pending_paints--;
m_client_state.back_bitmap.last_painted_size = size;
swap(m_client_state.back_bitmap, m_client_state.front_bitmap);
// We don't need the backup bitmap anymore, so drop it.
m_backup_bitmap = nullptr;