mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-06-11 18:20:43 +09:00
LibWeb: Support setting the cursor in OutOfProcessWebView
This commit is contained in:
parent
fc9225db33
commit
bedcd9cd88
Notes:
sideshowbarker
2024-07-18 21:50:41 +09:00
Author: https://github.com/ant1441
Commit: bedcd9cd88
Pull-request: https://github.com/SerenityOS/serenity/pull/5558
7 changed files with 23 additions and 0 deletions
|
@ -229,6 +229,11 @@ void OutOfProcessWebView::notify_server_did_change_selection(Badge<WebContentCli
|
|||
request_repaint();
|
||||
}
|
||||
|
||||
void OutOfProcessWebView::notify_server_did_request_cursor_change(Badge<WebContentClient>, Gfx::StandardCursor cursor)
|
||||
{
|
||||
set_override_cursor(cursor);
|
||||
}
|
||||
|
||||
void OutOfProcessWebView::notify_server_did_layout(Badge<WebContentClient>, const Gfx::IntSize& content_size)
|
||||
{
|
||||
set_content_size(content_size);
|
||||
|
|
|
@ -58,6 +58,7 @@ public:
|
|||
void notify_server_did_paint(Badge<WebContentClient>, i32 bitmap_id);
|
||||
void notify_server_did_invalidate_content_rect(Badge<WebContentClient>, const Gfx::IntRect&);
|
||||
void notify_server_did_change_selection(Badge<WebContentClient>);
|
||||
void notify_server_did_request_cursor_change(Badge<WebContentClient>, Gfx::StandardCursor cursor);
|
||||
void notify_server_did_change_title(Badge<WebContentClient>, const String&);
|
||||
void notify_server_did_request_scroll_into_view(Badge<WebContentClient>, const Gfx::IntRect&);
|
||||
void notify_server_did_hover_link(Badge<WebContentClient>, const URL&);
|
||||
|
|
|
@ -74,6 +74,15 @@ void WebContentClient::handle(const Messages::WebContentClient::DidChangeSelecti
|
|||
m_view.notify_server_did_change_selection({});
|
||||
}
|
||||
|
||||
void WebContentClient::handle(const Messages::WebContentClient::DidRequestCursorChange& message)
|
||||
{
|
||||
if (message.cursor_type() < 0 || message.cursor_type() >= (i32)Gfx::StandardCursor::__Count) {
|
||||
dbgln("DidRequestCursorChange: Bad cursor type");
|
||||
return;
|
||||
}
|
||||
m_view.notify_server_did_request_cursor_change({}, (Gfx::StandardCursor)message.cursor_type());
|
||||
}
|
||||
|
||||
void WebContentClient::handle(const Messages::WebContentClient::DidLayout& message)
|
||||
{
|
||||
dbgln_if(SPAM_DEBUG, "handle: WebContentClient::DidLayout! content_size={}", message.content_size());
|
||||
|
|
|
@ -54,6 +54,7 @@ private:
|
|||
virtual void handle(const Messages::WebContentClient::DidFinishLoading&) override;
|
||||
virtual void handle(const Messages::WebContentClient::DidInvalidateContentRect&) override;
|
||||
virtual void handle(const Messages::WebContentClient::DidChangeSelection&) override;
|
||||
virtual void handle(const Messages::WebContentClient::DidRequestCursorChange&) override;
|
||||
virtual void handle(const Messages::WebContentClient::DidLayout&) override;
|
||||
virtual void handle(const Messages::WebContentClient::DidChangeTitle&) override;
|
||||
virtual void handle(const Messages::WebContentClient::DidRequestScrollIntoView&) override;
|
||||
|
|
|
@ -113,6 +113,11 @@ void PageHost::page_did_change_selection()
|
|||
m_client.post_message(Messages::WebContentClient::DidChangeSelection());
|
||||
}
|
||||
|
||||
void PageHost::page_did_request_cursor_change(Gfx::StandardCursor cursor)
|
||||
{
|
||||
m_client.post_message(Messages::WebContentClient::DidRequestCursorChange((u32)cursor));
|
||||
}
|
||||
|
||||
void PageHost::page_did_layout()
|
||||
{
|
||||
auto* layout_root = this->layout_root();
|
||||
|
|
|
@ -56,6 +56,7 @@ private:
|
|||
virtual Gfx::Palette palette() const override;
|
||||
virtual void page_did_invalidate(const Gfx::IntRect&) override;
|
||||
virtual void page_did_change_selection() override;
|
||||
virtual void page_did_request_cursor_change(Gfx::StandardCursor) override;
|
||||
virtual void page_did_layout() override;
|
||||
virtual void page_did_change_title(const String&) override;
|
||||
virtual void page_did_request_scroll_into_view(const Gfx::IntRect&) override;
|
||||
|
|
|
@ -5,6 +5,7 @@ endpoint WebContentClient = 90
|
|||
DidPaint(Gfx::IntRect content_rect, i32 bitmap_id) =|
|
||||
DidInvalidateContentRect(Gfx::IntRect content_rect) =|
|
||||
DidChangeSelection() =|
|
||||
DidRequestCursorChange(i32 cursor_type) =|
|
||||
DidLayout(Gfx::IntSize content_size) =|
|
||||
DidChangeTitle(String title) =|
|
||||
DidRequestScrollIntoView(Gfx::IntRect rect) =|
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue