mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 00: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 {};
|
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()
|
void OutOfProcessWebView::did_scroll()
|
||||||
{
|
{
|
||||||
client().post_message(Messages::WebContentServer::SetViewportRect(visible_content_rect()));
|
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));
|
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 load_empty_document();
|
||||||
|
|
||||||
void debug_request(const String& request, const String& argument = {});
|
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_layout(Badge<WebContentClient>, const Gfx::IntSize& content_size);
|
||||||
void notify_server_did_paint(Badge<WebContentClient>, i32 bitmap_id);
|
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);
|
void notify_server_did_request_alert(Badge<WebContentClient>, const String& message);
|
||||||
bool notify_server_did_request_confirm(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_);
|
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:
|
private:
|
||||||
OutOfProcessWebView();
|
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());
|
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)
|
OwnPtr<Messages::WebContentClient::DidRequestAlertResponse> WebContentClient::handle(const Messages::WebContentClient::DidRequestAlert& message)
|
||||||
{
|
{
|
||||||
m_view.notify_server_did_request_alert({}, message.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::DidStartLoading&) override;
|
||||||
virtual void handle(const Messages::WebContentClient::DidRequestContextMenu&) override;
|
virtual void handle(const Messages::WebContentClient::DidRequestContextMenu&) override;
|
||||||
virtual void handle(const Messages::WebContentClient::DidRequestLinkContextMenu&) 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::DidRequestAlertResponse> handle(const Messages::WebContentClient::DidRequestAlert&) override;
|
||||||
virtual OwnPtr<Messages::WebContentClient::DidRequestConfirmResponse> handle(const Messages::WebContentClient::DidRequestConfirm&) override;
|
virtual OwnPtr<Messages::WebContentClient::DidRequestConfirmResponse> handle(const Messages::WebContentClient::DidRequestConfirm&) override;
|
||||||
virtual OwnPtr<Messages::WebContentClient::DidRequestPromptResponse> handle(const Messages::WebContentClient::DidRequestPrompt&) 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 Gfx::Bitmap&)> on_favicon_change;
|
||||||
Function<void(const URL&)> on_url_drop;
|
Function<void(const URL&)> on_url_drop;
|
||||||
Function<void(DOM::Document*)> on_set_document;
|
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