mirror of
https://github.com/RGBCube/serenity
synced 2025-07-24 14:47:34 +00:00
LibWeb+WebContent: Add WebContentClient::did_request_scroll_to() call
This call sets the absolute scroll position for the window.
This commit is contained in:
parent
a09219159c
commit
83414af9f3
8 changed files with 21 additions and 0 deletions
|
@ -241,6 +241,12 @@ void OutOfProcessWebView::notify_server_did_request_scroll(Badge<WebContentClien
|
|||
vertical_scrollbar().set_value(vertical_scrollbar().value() + y_delta);
|
||||
}
|
||||
|
||||
void OutOfProcessWebView::notify_server_did_request_scroll_to(Badge<WebContentClient>, Gfx::IntPoint const& scroll_position)
|
||||
{
|
||||
horizontal_scrollbar().set_value(scroll_position.x());
|
||||
vertical_scrollbar().set_value(scroll_position.y());
|
||||
}
|
||||
|
||||
void OutOfProcessWebView::notify_server_did_request_scroll_into_view(Badge<WebContentClient>, const Gfx::IntRect& rect)
|
||||
{
|
||||
scroll_into_view(rect, true, true);
|
||||
|
|
|
@ -58,6 +58,7 @@ public:
|
|||
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_request_scroll(Badge<WebContentClient>, i32, i32);
|
||||
void notify_server_did_request_scroll_to(Badge<WebContentClient>, Gfx::IntPoint const&);
|
||||
void notify_server_did_request_scroll_into_view(Badge<WebContentClient>, const Gfx::IntRect&);
|
||||
void notify_server_did_enter_tooltip_area(Badge<WebContentClient>, const Gfx::IntPoint&, const String&);
|
||||
void notify_server_did_leave_tooltip_area(Badge<WebContentClient>);
|
||||
|
|
|
@ -86,6 +86,7 @@ public:
|
|||
virtual void page_did_change_favicon(const Gfx::Bitmap&) { }
|
||||
virtual void page_did_layout() { }
|
||||
virtual void page_did_request_scroll(i32, i32) { }
|
||||
virtual void page_did_request_scroll_to(Gfx::IntPoint const&) { }
|
||||
virtual void page_did_request_scroll_into_view(const Gfx::IntRect&) { }
|
||||
virtual void page_did_request_alert(const String&) { }
|
||||
virtual bool page_did_request_confirm(const String&) { return false; }
|
||||
|
|
|
@ -73,6 +73,11 @@ void WebContentClient::did_request_scroll(i32 x_delta, i32 y_delta)
|
|||
m_view.notify_server_did_request_scroll({}, x_delta, y_delta);
|
||||
}
|
||||
|
||||
void WebContentClient::did_request_scroll_to(Gfx::IntPoint const& scroll_position)
|
||||
{
|
||||
m_view.notify_server_did_request_scroll_to({}, scroll_position);
|
||||
}
|
||||
|
||||
void WebContentClient::did_request_scroll_into_view(Gfx::IntRect const& rect)
|
||||
{
|
||||
dbgln_if(SPAM_DEBUG, "handle: WebContentClient::DidRequestScrollIntoView! rect={}", rect);
|
||||
|
|
|
@ -37,6 +37,7 @@ private:
|
|||
virtual void did_layout(Gfx::IntSize const&) override;
|
||||
virtual void did_change_title(String const&) override;
|
||||
virtual void did_request_scroll(i32, i32) override;
|
||||
virtual void did_request_scroll_to(Gfx::IntPoint const&) override;
|
||||
virtual void did_request_scroll_into_view(Gfx::IntRect const&) override;
|
||||
virtual void did_enter_tooltip_area(Gfx::IntPoint const&, String const&) override;
|
||||
virtual void did_leave_tooltip_area() override;
|
||||
|
|
|
@ -109,6 +109,11 @@ void PageHost::page_did_request_scroll(i32 x_delta, i32 y_delta)
|
|||
m_client.async_did_request_scroll(x_delta, y_delta);
|
||||
}
|
||||
|
||||
void PageHost::page_did_request_scroll_to(Gfx::IntPoint const& scroll_position)
|
||||
{
|
||||
m_client.async_did_request_scroll_to(scroll_position);
|
||||
}
|
||||
|
||||
void PageHost::page_did_request_scroll_into_view(const Gfx::IntRect& rect)
|
||||
{
|
||||
m_client.async_did_request_scroll_into_view(rect);
|
||||
|
|
|
@ -42,6 +42,7 @@ private:
|
|||
virtual void page_did_layout() override;
|
||||
virtual void page_did_change_title(const String&) override;
|
||||
virtual void page_did_request_scroll(i32, i32) override;
|
||||
virtual void page_did_request_scroll_to(Gfx::IntPoint const&) override;
|
||||
virtual void page_did_request_scroll_into_view(const Gfx::IntRect&) override;
|
||||
virtual void page_did_enter_tooltip_area(const Gfx::IntPoint&, const String&) override;
|
||||
virtual void page_did_leave_tooltip_area() override;
|
||||
|
|
|
@ -13,6 +13,7 @@ endpoint WebContentClient
|
|||
did_layout(Gfx::IntSize content_size) =|
|
||||
did_change_title(String title) =|
|
||||
did_request_scroll(i32 x_delta, i32 y_delta) =|
|
||||
did_request_scroll_to(Gfx::IntPoint scroll_position) =|
|
||||
did_request_scroll_into_view(Gfx::IntRect rect) =|
|
||||
did_enter_tooltip_area(Gfx::IntPoint content_position, String title) =|
|
||||
did_leave_tooltip_area() =|
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue