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();
|
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)
|
void OutOfProcessWebView::notify_server_did_layout(Badge<WebContentClient>, const Gfx::IntSize& content_size)
|
||||||
{
|
{
|
||||||
set_content_size(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_paint(Badge<WebContentClient>, i32 bitmap_id);
|
||||||
void notify_server_did_invalidate_content_rect(Badge<WebContentClient>, const Gfx::IntRect&);
|
void notify_server_did_invalidate_content_rect(Badge<WebContentClient>, const Gfx::IntRect&);
|
||||||
void notify_server_did_change_selection(Badge<WebContentClient>);
|
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_change_title(Badge<WebContentClient>, const String&);
|
||||||
void notify_server_did_request_scroll_into_view(Badge<WebContentClient>, const Gfx::IntRect&);
|
void notify_server_did_request_scroll_into_view(Badge<WebContentClient>, const Gfx::IntRect&);
|
||||||
void notify_server_did_hover_link(Badge<WebContentClient>, const URL&);
|
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({});
|
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)
|
void WebContentClient::handle(const Messages::WebContentClient::DidLayout& message)
|
||||||
{
|
{
|
||||||
dbgln_if(SPAM_DEBUG, "handle: WebContentClient::DidLayout! content_size={}", message.content_size());
|
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::DidFinishLoading&) override;
|
||||||
virtual void handle(const Messages::WebContentClient::DidInvalidateContentRect&) override;
|
virtual void handle(const Messages::WebContentClient::DidInvalidateContentRect&) override;
|
||||||
virtual void handle(const Messages::WebContentClient::DidChangeSelection&) 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::DidLayout&) override;
|
||||||
virtual void handle(const Messages::WebContentClient::DidChangeTitle&) override;
|
virtual void handle(const Messages::WebContentClient::DidChangeTitle&) override;
|
||||||
virtual void handle(const Messages::WebContentClient::DidRequestScrollIntoView&) 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());
|
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()
|
void PageHost::page_did_layout()
|
||||||
{
|
{
|
||||||
auto* layout_root = this->layout_root();
|
auto* layout_root = this->layout_root();
|
||||||
|
|
|
@ -56,6 +56,7 @@ private:
|
||||||
virtual Gfx::Palette palette() const override;
|
virtual Gfx::Palette palette() const override;
|
||||||
virtual void page_did_invalidate(const Gfx::IntRect&) override;
|
virtual void page_did_invalidate(const Gfx::IntRect&) override;
|
||||||
virtual void page_did_change_selection() 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_layout() override;
|
||||||
virtual void page_did_change_title(const String&) override;
|
virtual void page_did_change_title(const String&) override;
|
||||||
virtual void page_did_request_scroll_into_view(const Gfx::IntRect&) 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) =|
|
DidPaint(Gfx::IntRect content_rect, i32 bitmap_id) =|
|
||||||
DidInvalidateContentRect(Gfx::IntRect content_rect) =|
|
DidInvalidateContentRect(Gfx::IntRect content_rect) =|
|
||||||
DidChangeSelection() =|
|
DidChangeSelection() =|
|
||||||
|
DidRequestCursorChange(i32 cursor_type) =|
|
||||||
DidLayout(Gfx::IntSize content_size) =|
|
DidLayout(Gfx::IntSize content_size) =|
|
||||||
DidChangeTitle(String title) =|
|
DidChangeTitle(String title) =|
|
||||||
DidRequestScrollIntoView(Gfx::IntRect rect) =|
|
DidRequestScrollIntoView(Gfx::IntRect rect) =|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue