1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-30 23:08:11 +00:00

WebContent: Allow the WebContent process to trigger repaints

After layout, we may want to repaint the page, so we now listen for the
PageClient::page_did_invalidate() notification and use it to drive a
client-side repaint.

Note that an invalidation request from LibWeb makes a full roundtrip
to the WebContent client and back since the client drives painting.
This commit is contained in:
Andreas Kling 2020-06-17 18:00:18 +02:00
parent c45c5ded34
commit 0bac2ad3b3
8 changed files with 36 additions and 6 deletions

View file

@ -51,3 +51,11 @@ void WebContentClient::handle(const Messages::WebContentClient::DidFinishLoad& m
{
dbg() << "handle: WebContentClient::DidFinishLoad! url=" << message.url();
}
void WebContentClient::handle(const Messages::WebContentClient::DidInvalidateContentRect& message)
{
dbg() << "handle: WebContentClient::DidInvalidateContentRect! content_rect=" << message.content_rect();
// FIXME: Figure out a way to coalesce these messages to reduce unnecessary painting
m_view.notify_server_did_invalidate_content_rect({}, message.content_rect());
}