LibWeb: Make the WebContentView::on_load_start hook actually work :^)

This commit is contained in:
Andreas Kling 2020-07-06 21:58:16 +02:00
parent a94ef9e021
commit 9169c8ca94
Notes: sideshowbarker 2024-07-19 05:06:04 +09:00
7 changed files with 20 additions and 0 deletions

View file

@ -124,3 +124,8 @@ void WebContentClient::handle(const Messages::WebContentClient::DidMiddleClickLi
{
m_view.notify_server_did_middle_click_link({}, message.url(), message.target(), message.modifiers());
}
void WebContentClient::handle(const Messages::WebContentClient::DidStartLoading& message)
{
m_view.notify_server_did_start_loading({}, message.url());
}

View file

@ -55,6 +55,7 @@ private:
virtual void handle(const Messages::WebContentClient::DidUnhoverLink&) override;
virtual void handle(const Messages::WebContentClient::DidClickLink&) override;
virtual void handle(const Messages::WebContentClient::DidMiddleClickLink&) override;
virtual void handle(const Messages::WebContentClient::DidStartLoading&) override;
WebContentView& m_view;
};

View file

@ -150,6 +150,12 @@ void WebContentView::notify_server_did_middle_click_link(Badge<WebContentClient>
on_link_middle_click(url, target, modifiers);
}
void WebContentView::notify_server_did_start_loading(Badge<WebContentClient>, const URL& url)
{
if (on_load_start)
on_load_start(url);
}
void WebContentView::did_scroll()
{
client().post_message(Messages::WebContentServer::SetViewportRect(visible_content_rect()));

View file

@ -54,6 +54,7 @@ public:
void notify_server_did_unhover_link(Badge<WebContentClient>);
void notify_server_did_click_link(Badge<WebContentClient>, const URL&, const String& target, unsigned modifiers);
void notify_server_did_middle_click_link(Badge<WebContentClient>, const URL&, const String& target, unsigned modifiers);
void notify_server_did_start_loading(Badge<WebContentClient>, const URL&);
private:
WebContentView();

View file

@ -154,4 +154,9 @@ void PageHost::page_did_middle_click_link(const URL& url, [[maybe_unused]] const
m_client.post_message(Messages::WebContentClient::DidMiddleClickLink(url, target, modifiers));
}
void PageHost::page_did_start_loading(const URL& url)
{
m_client.post_message(Messages::WebContentClient::DidStartLoading(url));
}
}

View file

@ -60,6 +60,7 @@ private:
virtual void page_did_unhover_link() override;
virtual void page_did_click_link(const URL&, const String& target, unsigned modifiers) override;
virtual void page_did_middle_click_link(const URL&, const String& target, unsigned modifiers) override;
virtual void page_did_start_loading(const URL&) override;
explicit PageHost(ClientConnection&);

View file

@ -11,4 +11,5 @@ endpoint WebContentClient = 90
DidUnhoverLink() =|
DidClickLink(URL url, String target, unsigned modifiers) =|
DidMiddleClickLink(URL url, String target, unsigned modifiers) =|
DidStartLoading(URL url) =|
}