1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 04:17:35 +00:00

Ladybird+LibWebView: Move most of paint handling to LibWebView

Storing the backup bitmap is the same across Browser and Ladybird. Just
peform that work in LibWebView, and handle only the implementation-
specific nuances within the browsers.
This commit is contained in:
Timothy Flynn 2023-05-20 10:50:05 -04:00 committed by Tim Flynn
parent 15da77f4c4
commit ea7e1b5f53
10 changed files with 34 additions and 63 deletions

View file

@ -47,6 +47,8 @@ public:
String const& handle() const { return m_client_state.client_handle; }
void server_did_paint(Badge<WebContentClient>, i32 bitmap_id, Gfx::IntSize size);
void load(AK::URL const&);
void load_html(StringView, AK::URL const&);
void load_empty_document();
@ -90,6 +92,7 @@ public:
};
ErrorOr<void> take_screenshot(ScreenshotType);
Function<void()> on_ready_to_paint;
Function<String(Web::HTML::ActivateTab)> on_new_tab;
Function<void()> on_activate_tab;
Function<void()> on_close;
@ -135,7 +138,6 @@ public:
Function<Gfx::IntRect()> on_fullscreen_window;
virtual void notify_server_did_layout(Badge<WebContentClient>, Gfx::IntSize content_size) = 0;
virtual void notify_server_did_paint(Badge<WebContentClient>, i32 bitmap_id, Gfx::IntSize) = 0;
virtual void notify_server_did_invalidate_content_rect(Badge<WebContentClient>, Gfx::IntRect const&) = 0;
virtual void notify_server_did_change_selection(Badge<WebContentClient>) = 0;
virtual void notify_server_did_request_cursor_change(Badge<WebContentClient>, Gfx::StandardCursor cursor) = 0;