mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 02:08:11 +00:00
LibWeb: Added get source functionality and hook event
This commit is contained in:
parent
306501fd4a
commit
2f56a86a4e
5 changed files with 20 additions and 0 deletions
|
@ -314,6 +314,12 @@ String OutOfProcessWebView::notify_server_did_request_prompt(Badge<WebContentCli
|
|||
return {};
|
||||
}
|
||||
|
||||
void OutOfProcessWebView::notify_server_did_get_source(const URL& url, const String& source)
|
||||
{
|
||||
if (on_get_source)
|
||||
on_get_source(url, source);
|
||||
}
|
||||
|
||||
void OutOfProcessWebView::did_scroll()
|
||||
{
|
||||
client().post_message(Messages::WebContentServer::SetViewportRect(visible_content_rect()));
|
||||
|
@ -340,4 +346,9 @@ void OutOfProcessWebView::debug_request(const String& request, const String& arg
|
|||
client().post_message(Messages::WebContentServer::DebugRequest(request, argument));
|
||||
}
|
||||
|
||||
void OutOfProcessWebView::get_source()
|
||||
{
|
||||
client().post_message(Messages::WebContentServer::GetSource());
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -50,6 +50,7 @@ public:
|
|||
void load_empty_document();
|
||||
|
||||
void debug_request(const String& request, const String& argument = {});
|
||||
void get_source();
|
||||
|
||||
void notify_server_did_layout(Badge<WebContentClient>, const Gfx::IntSize& content_size);
|
||||
void notify_server_did_paint(Badge<WebContentClient>, i32 bitmap_id);
|
||||
|
@ -68,6 +69,7 @@ public:
|
|||
void notify_server_did_request_alert(Badge<WebContentClient>, const String& message);
|
||||
bool notify_server_did_request_confirm(Badge<WebContentClient>, const String& message);
|
||||
String notify_server_did_request_prompt(Badge<WebContentClient>, const String& message, const String& default_);
|
||||
void notify_server_did_get_source(const URL& url, const String& source);
|
||||
|
||||
private:
|
||||
OutOfProcessWebView();
|
||||
|
|
|
@ -131,6 +131,11 @@ void WebContentClient::handle(const Messages::WebContentClient::DidRequestLinkCo
|
|||
m_view.notify_server_did_request_link_context_menu({}, message.content_position(), message.url(), message.target(), message.modifiers());
|
||||
}
|
||||
|
||||
void WebContentClient::handle(const Messages::WebContentClient::DidGetSource& message)
|
||||
{
|
||||
m_view.notify_server_did_get_source(message.url(), message.source());
|
||||
}
|
||||
|
||||
OwnPtr<Messages::WebContentClient::DidRequestAlertResponse> WebContentClient::handle(const Messages::WebContentClient::DidRequestAlert& message)
|
||||
{
|
||||
m_view.notify_server_did_request_alert({}, message.message());
|
||||
|
|
|
@ -64,6 +64,7 @@ private:
|
|||
virtual void handle(const Messages::WebContentClient::DidStartLoading&) override;
|
||||
virtual void handle(const Messages::WebContentClient::DidRequestContextMenu&) override;
|
||||
virtual void handle(const Messages::WebContentClient::DidRequestLinkContextMenu&) override;
|
||||
virtual void handle(const Messages::WebContentClient::DidGetSource& message);
|
||||
virtual OwnPtr<Messages::WebContentClient::DidRequestAlertResponse> handle(const Messages::WebContentClient::DidRequestAlert&) override;
|
||||
virtual OwnPtr<Messages::WebContentClient::DidRequestConfirmResponse> handle(const Messages::WebContentClient::DidRequestConfirm&) override;
|
||||
virtual OwnPtr<Messages::WebContentClient::DidRequestPromptResponse> handle(const Messages::WebContentClient::DidRequestPrompt&) override;
|
||||
|
|
|
@ -46,6 +46,7 @@ public:
|
|||
Function<void(const Gfx::Bitmap&)> on_favicon_change;
|
||||
Function<void(const URL&)> on_url_drop;
|
||||
Function<void(DOM::Document*)> on_set_document;
|
||||
Function<void(const URL&, const String&)> on_get_source;
|
||||
};
|
||||
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue