mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 22:47:47 +00:00
LibWebView+WebContent: Add IPCs to navigate the browser's history
This commit is contained in:
parent
f84b2e9e7d
commit
24fb7cd0ad
6 changed files with 48 additions and 0 deletions
|
@ -309,6 +309,24 @@ void OutOfProcessWebView::notify_server_did_finish_loading(Badge<WebContentClien
|
||||||
on_load_finish(url);
|
on_load_finish(url);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void OutOfProcessWebView::notify_server_did_request_navigate_back(Badge<WebContentClient>)
|
||||||
|
{
|
||||||
|
if (on_navigate_back)
|
||||||
|
on_navigate_back();
|
||||||
|
}
|
||||||
|
|
||||||
|
void OutOfProcessWebView::notify_server_did_request_navigate_forward(Badge<WebContentClient>)
|
||||||
|
{
|
||||||
|
if (on_navigate_forward)
|
||||||
|
on_navigate_forward();
|
||||||
|
}
|
||||||
|
|
||||||
|
void OutOfProcessWebView::notify_server_did_request_refresh(Badge<WebContentClient>)
|
||||||
|
{
|
||||||
|
if (on_refresh)
|
||||||
|
on_refresh();
|
||||||
|
}
|
||||||
|
|
||||||
void OutOfProcessWebView::notify_server_did_request_context_menu(Badge<WebContentClient>, Gfx::IntPoint const& content_position)
|
void OutOfProcessWebView::notify_server_did_request_context_menu(Badge<WebContentClient>, Gfx::IntPoint const& content_position)
|
||||||
{
|
{
|
||||||
if (on_context_menu_request)
|
if (on_context_menu_request)
|
||||||
|
|
|
@ -84,6 +84,9 @@ public:
|
||||||
Function<void(String const&)> on_title_change;
|
Function<void(String const&)> on_title_change;
|
||||||
Function<void(const AK::URL&)> on_load_start;
|
Function<void(const AK::URL&)> on_load_start;
|
||||||
Function<void(const AK::URL&)> on_load_finish;
|
Function<void(const AK::URL&)> on_load_finish;
|
||||||
|
Function<void()> on_navigate_back;
|
||||||
|
Function<void()> on_navigate_forward;
|
||||||
|
Function<void()> on_refresh;
|
||||||
Function<void(Gfx::Bitmap const&)> on_favicon_change;
|
Function<void(Gfx::Bitmap const&)> on_favicon_change;
|
||||||
Function<void(const AK::URL&)> on_url_drop;
|
Function<void(const AK::URL&)> on_url_drop;
|
||||||
Function<void(Web::DOM::Document*)> on_set_document;
|
Function<void(Web::DOM::Document*)> on_set_document;
|
||||||
|
@ -145,6 +148,9 @@ private:
|
||||||
virtual void notify_server_did_middle_click_link(Badge<WebContentClient>, const AK::URL&, String const& target, unsigned modifiers) override;
|
virtual void notify_server_did_middle_click_link(Badge<WebContentClient>, const AK::URL&, String const& target, unsigned modifiers) override;
|
||||||
virtual void notify_server_did_start_loading(Badge<WebContentClient>, const AK::URL&) override;
|
virtual void notify_server_did_start_loading(Badge<WebContentClient>, const AK::URL&) override;
|
||||||
virtual void notify_server_did_finish_loading(Badge<WebContentClient>, const AK::URL&) override;
|
virtual void notify_server_did_finish_loading(Badge<WebContentClient>, const AK::URL&) override;
|
||||||
|
virtual void notify_server_did_request_navigate_back(Badge<WebContentClient>) override;
|
||||||
|
virtual void notify_server_did_request_navigate_forward(Badge<WebContentClient>) override;
|
||||||
|
virtual void notify_server_did_request_refresh(Badge<WebContentClient>) override;
|
||||||
virtual void notify_server_did_request_context_menu(Badge<WebContentClient>, Gfx::IntPoint const&) override;
|
virtual void notify_server_did_request_context_menu(Badge<WebContentClient>, Gfx::IntPoint const&) override;
|
||||||
virtual void notify_server_did_request_link_context_menu(Badge<WebContentClient>, Gfx::IntPoint const&, const AK::URL&, String const& target, unsigned modifiers) override;
|
virtual void notify_server_did_request_link_context_menu(Badge<WebContentClient>, Gfx::IntPoint const&, const AK::URL&, String const& target, unsigned modifiers) override;
|
||||||
virtual void notify_server_did_request_image_context_menu(Badge<WebContentClient>, Gfx::IntPoint const&, const AK::URL&, String const& target, unsigned modifiers, Gfx::ShareableBitmap const&) override;
|
virtual void notify_server_did_request_image_context_menu(Badge<WebContentClient>, Gfx::IntPoint const&, const AK::URL&, String const& target, unsigned modifiers, Gfx::ShareableBitmap const&) override;
|
||||||
|
|
|
@ -35,6 +35,9 @@ public:
|
||||||
virtual void notify_server_did_middle_click_link(Badge<WebContentClient>, const AK::URL&, String const& target, unsigned modifiers) = 0;
|
virtual void notify_server_did_middle_click_link(Badge<WebContentClient>, const AK::URL&, String const& target, unsigned modifiers) = 0;
|
||||||
virtual void notify_server_did_start_loading(Badge<WebContentClient>, const AK::URL&) = 0;
|
virtual void notify_server_did_start_loading(Badge<WebContentClient>, const AK::URL&) = 0;
|
||||||
virtual void notify_server_did_finish_loading(Badge<WebContentClient>, const AK::URL&) = 0;
|
virtual void notify_server_did_finish_loading(Badge<WebContentClient>, const AK::URL&) = 0;
|
||||||
|
virtual void notify_server_did_request_navigate_back(Badge<WebContentClient>) = 0;
|
||||||
|
virtual void notify_server_did_request_navigate_forward(Badge<WebContentClient>) = 0;
|
||||||
|
virtual void notify_server_did_request_refresh(Badge<WebContentClient>) = 0;
|
||||||
virtual void notify_server_did_request_context_menu(Badge<WebContentClient>, Gfx::IntPoint const&) = 0;
|
virtual void notify_server_did_request_context_menu(Badge<WebContentClient>, Gfx::IntPoint const&) = 0;
|
||||||
virtual void notify_server_did_request_link_context_menu(Badge<WebContentClient>, Gfx::IntPoint const&, const AK::URL&, String const& target, unsigned modifiers) = 0;
|
virtual void notify_server_did_request_link_context_menu(Badge<WebContentClient>, Gfx::IntPoint const&, const AK::URL&, String const& target, unsigned modifiers) = 0;
|
||||||
virtual void notify_server_did_request_image_context_menu(Badge<WebContentClient>, Gfx::IntPoint const&, const AK::URL&, String const& target, unsigned modifiers, Gfx::ShareableBitmap const&) = 0;
|
virtual void notify_server_did_request_image_context_menu(Badge<WebContentClient>, Gfx::IntPoint const&, const AK::URL&, String const& target, unsigned modifiers, Gfx::ShareableBitmap const&) = 0;
|
||||||
|
|
|
@ -33,6 +33,21 @@ void WebContentClient::did_finish_loading(AK::URL const& url)
|
||||||
m_view.notify_server_did_finish_loading({}, url);
|
m_view.notify_server_did_finish_loading({}, url);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void WebContentClient::did_request_navigate_back()
|
||||||
|
{
|
||||||
|
m_view.notify_server_did_request_navigate_back({});
|
||||||
|
}
|
||||||
|
|
||||||
|
void WebContentClient::did_request_navigate_forward()
|
||||||
|
{
|
||||||
|
m_view.notify_server_did_request_navigate_forward({});
|
||||||
|
}
|
||||||
|
|
||||||
|
void WebContentClient::did_request_refresh()
|
||||||
|
{
|
||||||
|
m_view.notify_server_did_request_refresh({});
|
||||||
|
}
|
||||||
|
|
||||||
void WebContentClient::did_invalidate_content_rect(Gfx::IntRect const& content_rect)
|
void WebContentClient::did_invalidate_content_rect(Gfx::IntRect const& content_rect)
|
||||||
{
|
{
|
||||||
dbgln_if(SPAM_DEBUG, "handle: WebContentClient::DidInvalidateContentRect! content_rect={}", content_rect);
|
dbgln_if(SPAM_DEBUG, "handle: WebContentClient::DidInvalidateContentRect! content_rect={}", content_rect);
|
||||||
|
|
|
@ -31,6 +31,9 @@ private:
|
||||||
|
|
||||||
virtual void did_paint(Gfx::IntRect const&, i32) override;
|
virtual void did_paint(Gfx::IntRect const&, i32) override;
|
||||||
virtual void did_finish_loading(AK::URL const&) override;
|
virtual void did_finish_loading(AK::URL const&) override;
|
||||||
|
virtual void did_request_navigate_back() override;
|
||||||
|
virtual void did_request_navigate_forward() override;
|
||||||
|
virtual void did_request_refresh() override;
|
||||||
virtual void did_invalidate_content_rect(Gfx::IntRect const&) override;
|
virtual void did_invalidate_content_rect(Gfx::IntRect const&) override;
|
||||||
virtual void did_change_selection() override;
|
virtual void did_change_selection() override;
|
||||||
virtual void did_request_cursor_change(i32) override;
|
virtual void did_request_cursor_change(i32) override;
|
||||||
|
|
|
@ -11,6 +11,9 @@ endpoint WebContentClient
|
||||||
{
|
{
|
||||||
did_start_loading(URL url) =|
|
did_start_loading(URL url) =|
|
||||||
did_finish_loading(URL url) =|
|
did_finish_loading(URL url) =|
|
||||||
|
did_request_navigate_back() =|
|
||||||
|
did_request_navigate_forward() =|
|
||||||
|
did_request_refresh() =|
|
||||||
did_paint(Gfx::IntRect content_rect, i32 bitmap_id) =|
|
did_paint(Gfx::IntRect content_rect, i32 bitmap_id) =|
|
||||||
did_invalidate_content_rect(Gfx::IntRect content_rect) =|
|
did_invalidate_content_rect(Gfx::IntRect content_rect) =|
|
||||||
did_change_selection() =|
|
did_change_selection() =|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue