Plug three holes in Servo input forwarding
1. Scroll no longer wipes keyboard focus. Servo holds DOM focus across wheel events; the shell was clearing keyboard_focus and typed_texts on every scroll, so a focused input went deaf the moment the user scrolled. Scroll still drops the buffered click point because that coordinate is captured against the pre-scroll viewport. 2. Mouse-down hands focus to the shell's root focus handle (in addition to mouse-up's existing click forwarding). The user can now start typing the moment they press the page, instead of having to first complete a click round-trip to escape the omnibar's focus. 3. Sidecar hover() honors the requesting webview_id instead of defaulting to the first webview in the map, so multi-tab sidecars no longer pipe every hover into tab #1.
This commit is contained in:
@@ -242,6 +242,13 @@ pub struct MouseClickRequest {
|
||||
pub y: u32,
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, Eq, PartialEq)]
|
||||
pub struct MouseHoverRequest {
|
||||
pub webview_id: WebViewId,
|
||||
pub x: u32,
|
||||
pub y: u32,
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, Eq, PartialEq)]
|
||||
pub struct MouseDragRequest {
|
||||
pub webview_id: WebViewId,
|
||||
|
||||
Reference in New Issue
Block a user