diff --git a/Userland/Libraries/LibWebView/OutOfProcessWebView.cpp b/Userland/Libraries/LibWebView/OutOfProcessWebView.cpp index 4cbaa1cd50..97a7c43b52 100644 --- a/Userland/Libraries/LibWebView/OutOfProcessWebView.cpp +++ b/Userland/Libraries/LibWebView/OutOfProcessWebView.cpp @@ -68,10 +68,17 @@ void OutOfProcessWebView::paint_event(GUI::PaintEvent& event) if (auto* bitmap = m_client_state.has_usable_bitmap ? m_client_state.front_bitmap.bitmap.ptr() : m_backup_bitmap.ptr()) { painter.add_clip_rect(frame_inner_rect()); painter.translate(frame_thickness(), frame_thickness()); - if (m_content_scales_to_viewport) - painter.draw_scaled_bitmap(rect(), *bitmap, bitmap->rect()); - else + if (m_content_scales_to_viewport) { + auto bitmap_rect = Gfx::IntRect { + {}, + m_client_state.has_usable_bitmap + ? m_client_state.front_bitmap.last_painted_size + : m_backup_bitmap_size + }; + painter.draw_scaled_bitmap(rect(), *bitmap, bitmap_rect); + } else { painter.blit({ 0, 0 }, *bitmap, bitmap->rect()); + } return; }