mirror of
https://github.com/servo/servo.git
synced 2025-08-03 20:50:07 +01:00
[webdriver] Add synchronization for wheel action (#37260)
Implement action synchronization for wheel event. Previously only done for pointer here https://github.com/servo/servo/pull/36932. Testing: `tests/wpt/meta/webdriver/tests/classic/perform_actions/wheel.py` --------- Signed-off-by: PotatoCP <kenzieradityatirtarahardja18@gmail.com>
This commit is contained in:
parent
5114e24db1
commit
15eadb56a4
8 changed files with 89 additions and 34 deletions
|
@ -673,7 +673,7 @@ impl IOCompositor {
|
|||
let point = dppx.transform_point(Point2D::new(x, y));
|
||||
webview_renderer.dispatch_point_input_event(
|
||||
InputEvent::MouseButton(MouseButtonEvent::new(action, button, point))
|
||||
.with_webdriver_message_id(Some(message_id)),
|
||||
.with_webdriver_message_id(message_id),
|
||||
);
|
||||
},
|
||||
|
||||
|
@ -686,11 +686,18 @@ impl IOCompositor {
|
|||
let point = dppx.transform_point(Point2D::new(x, y));
|
||||
webview_renderer.dispatch_point_input_event(
|
||||
InputEvent::MouseMove(MouseMoveEvent::new(point))
|
||||
.with_webdriver_message_id(Some(message_id)),
|
||||
.with_webdriver_message_id(message_id),
|
||||
);
|
||||
},
|
||||
|
||||
CompositorMsg::WebDriverWheelScrollEvent(webview_id, x, y, delta_x, delta_y) => {
|
||||
CompositorMsg::WebDriverWheelScrollEvent(
|
||||
webview_id,
|
||||
x,
|
||||
y,
|
||||
delta_x,
|
||||
delta_y,
|
||||
message_id,
|
||||
) => {
|
||||
let Some(webview_renderer) = self.webview_renderers.get_mut(webview_id) else {
|
||||
warn!("Handling input event for unknown webview: {webview_id}");
|
||||
return;
|
||||
|
@ -705,8 +712,10 @@ impl IOCompositor {
|
|||
let point = dppx.transform_point(Point2D::new(x, y));
|
||||
let scroll_delta =
|
||||
dppx.transform_vector(Vector2D::new(delta_x as f32, delta_y as f32));
|
||||
webview_renderer
|
||||
.dispatch_point_input_event(InputEvent::Wheel(WheelEvent { delta, point }));
|
||||
webview_renderer.dispatch_point_input_event(
|
||||
InputEvent::Wheel(WheelEvent::new(delta, point))
|
||||
.with_webdriver_message_id(message_id),
|
||||
);
|
||||
webview_renderer.on_webdriver_wheel_action(scroll_delta, point);
|
||||
},
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue