mirror of
https://github.com/RGBCube/serenity
synced 2025-07-24 19:47:42 +00:00
LibWeb+WebContent: Modify did_request_scroll() IPC to take x&y deltas
This is in preparation for implementing JS scrolling functions, which specify both x and y scrolling deltas. The visible behavior has not changed. Also, moved the "mouse wheel delta * 20" calculation to the `EventHandler` since the JS calls will want to work directly in pixels.
This commit is contained in:
parent
92a3318375
commit
a09219159c
9 changed files with 13 additions and 12 deletions
|
@ -235,9 +235,10 @@ void OutOfProcessWebView::notify_server_did_change_title(Badge<WebContentClient>
|
||||||
on_title_change(title);
|
on_title_change(title);
|
||||||
}
|
}
|
||||||
|
|
||||||
void OutOfProcessWebView::notify_server_did_request_scroll(Badge<WebContentClient>, int wheel_delta)
|
void OutOfProcessWebView::notify_server_did_request_scroll(Badge<WebContentClient>, i32 x_delta, i32 y_delta)
|
||||||
{
|
{
|
||||||
vertical_scrollbar().set_value(vertical_scrollbar().value() + wheel_delta * 20);
|
horizontal_scrollbar().set_value(horizontal_scrollbar().value() + x_delta);
|
||||||
|
vertical_scrollbar().set_value(vertical_scrollbar().value() + y_delta);
|
||||||
}
|
}
|
||||||
|
|
||||||
void OutOfProcessWebView::notify_server_did_request_scroll_into_view(Badge<WebContentClient>, const Gfx::IntRect& rect)
|
void OutOfProcessWebView::notify_server_did_request_scroll_into_view(Badge<WebContentClient>, const Gfx::IntRect& rect)
|
||||||
|
|
|
@ -57,7 +57,7 @@ public:
|
||||||
void notify_server_did_change_selection(Badge<WebContentClient>);
|
void notify_server_did_change_selection(Badge<WebContentClient>);
|
||||||
void notify_server_did_request_cursor_change(Badge<WebContentClient>, Gfx::StandardCursor cursor);
|
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_change_title(Badge<WebContentClient>, const String&);
|
||||||
void notify_server_did_request_scroll(Badge<WebContentClient>, int);
|
void notify_server_did_request_scroll(Badge<WebContentClient>, i32, i32);
|
||||||
void notify_server_did_request_scroll_into_view(Badge<WebContentClient>, const Gfx::IntRect&);
|
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_enter_tooltip_area(Badge<WebContentClient>, const Gfx::IntPoint&, const String&);
|
||||||
void notify_server_did_leave_tooltip_area(Badge<WebContentClient>);
|
void notify_server_did_leave_tooltip_area(Badge<WebContentClient>);
|
||||||
|
|
|
@ -125,7 +125,7 @@ bool EventHandler::handle_mousewheel(const Gfx::IntPoint& position, unsigned int
|
||||||
}
|
}
|
||||||
|
|
||||||
if (auto* page = m_frame.page()) {
|
if (auto* page = m_frame.page()) {
|
||||||
page->client().page_did_request_scroll(wheel_delta);
|
page->client().page_did_request_scroll(0, wheel_delta * 20);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -85,7 +85,7 @@ public:
|
||||||
virtual void page_did_invalidate(const Gfx::IntRect&) { }
|
virtual void page_did_invalidate(const Gfx::IntRect&) { }
|
||||||
virtual void page_did_change_favicon(const Gfx::Bitmap&) { }
|
virtual void page_did_change_favicon(const Gfx::Bitmap&) { }
|
||||||
virtual void page_did_layout() { }
|
virtual void page_did_layout() { }
|
||||||
virtual void page_did_request_scroll(int) { }
|
virtual void page_did_request_scroll(i32, i32) { }
|
||||||
virtual void page_did_request_scroll_into_view(const Gfx::IntRect&) { }
|
virtual void page_did_request_scroll_into_view(const Gfx::IntRect&) { }
|
||||||
virtual void page_did_request_alert(const String&) { }
|
virtual void page_did_request_alert(const String&) { }
|
||||||
virtual bool page_did_request_confirm(const String&) { return false; }
|
virtual bool page_did_request_confirm(const String&) { return false; }
|
||||||
|
|
|
@ -68,9 +68,9 @@ void WebContentClient::did_change_title(String const& title)
|
||||||
m_view.notify_server_did_change_title({}, title);
|
m_view.notify_server_did_change_title({}, title);
|
||||||
}
|
}
|
||||||
|
|
||||||
void WebContentClient::did_request_scroll(int wheel_delta)
|
void WebContentClient::did_request_scroll(i32 x_delta, i32 y_delta)
|
||||||
{
|
{
|
||||||
m_view.notify_server_did_request_scroll({}, wheel_delta);
|
m_view.notify_server_did_request_scroll({}, x_delta, y_delta);
|
||||||
}
|
}
|
||||||
|
|
||||||
void WebContentClient::did_request_scroll_into_view(Gfx::IntRect const& rect)
|
void WebContentClient::did_request_scroll_into_view(Gfx::IntRect const& rect)
|
||||||
|
|
|
@ -36,7 +36,7 @@ private:
|
||||||
virtual void did_request_cursor_change(i32) override;
|
virtual void did_request_cursor_change(i32) override;
|
||||||
virtual void did_layout(Gfx::IntSize const&) override;
|
virtual void did_layout(Gfx::IntSize const&) override;
|
||||||
virtual void did_change_title(String const&) override;
|
virtual void did_change_title(String const&) override;
|
||||||
virtual void did_request_scroll(int) override;
|
virtual void did_request_scroll(i32, i32) override;
|
||||||
virtual void did_request_scroll_into_view(Gfx::IntRect 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_enter_tooltip_area(Gfx::IntPoint const&, String const&) override;
|
||||||
virtual void did_leave_tooltip_area() override;
|
virtual void did_leave_tooltip_area() override;
|
||||||
|
|
|
@ -104,9 +104,9 @@ void PageHost::page_did_change_title(const String& title)
|
||||||
m_client.async_did_change_title(title);
|
m_client.async_did_change_title(title);
|
||||||
}
|
}
|
||||||
|
|
||||||
void PageHost::page_did_request_scroll(int wheel_delta)
|
void PageHost::page_did_request_scroll(i32 x_delta, i32 y_delta)
|
||||||
{
|
{
|
||||||
m_client.async_did_request_scroll(wheel_delta);
|
m_client.async_did_request_scroll(x_delta, y_delta);
|
||||||
}
|
}
|
||||||
|
|
||||||
void PageHost::page_did_request_scroll_into_view(const Gfx::IntRect& rect)
|
void PageHost::page_did_request_scroll_into_view(const Gfx::IntRect& rect)
|
||||||
|
|
|
@ -41,7 +41,7 @@ private:
|
||||||
virtual void page_did_request_cursor_change(Gfx::StandardCursor) override;
|
virtual void page_did_request_cursor_change(Gfx::StandardCursor) override;
|
||||||
virtual void page_did_layout() override;
|
virtual void page_did_layout() override;
|
||||||
virtual void page_did_change_title(const String&) override;
|
virtual void page_did_change_title(const String&) override;
|
||||||
virtual void page_did_request_scroll(int) override;
|
virtual void page_did_request_scroll(i32, i32) override;
|
||||||
virtual void page_did_request_scroll_into_view(const Gfx::IntRect&) 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_enter_tooltip_area(const Gfx::IntPoint&, const String&) override;
|
||||||
virtual void page_did_leave_tooltip_area() override;
|
virtual void page_did_leave_tooltip_area() override;
|
||||||
|
|
|
@ -12,7 +12,7 @@ endpoint WebContentClient
|
||||||
did_request_cursor_change(i32 cursor_type) =|
|
did_request_cursor_change(i32 cursor_type) =|
|
||||||
did_layout(Gfx::IntSize content_size) =|
|
did_layout(Gfx::IntSize content_size) =|
|
||||||
did_change_title(String title) =|
|
did_change_title(String title) =|
|
||||||
did_request_scroll(int wheel_delta) =|
|
did_request_scroll(i32 x_delta, i32 y_delta) =|
|
||||||
did_request_scroll_into_view(Gfx::IntRect rect) =|
|
did_request_scroll_into_view(Gfx::IntRect rect) =|
|
||||||
did_enter_tooltip_area(Gfx::IntPoint content_position, String title) =|
|
did_enter_tooltip_area(Gfx::IntPoint content_position, String title) =|
|
||||||
did_leave_tooltip_area() =|
|
did_leave_tooltip_area() =|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue