diff options
Diffstat (limited to 'components/shared')
-rw-r--r-- | components/shared/compositing/lib.rs | 6 | ||||
-rw-r--r-- | components/shared/embedder/input_events.rs | 17 | ||||
-rw-r--r-- | components/shared/embedder/webdriver.rs | 19 |
3 files changed, 34 insertions, 8 deletions
diff --git a/components/shared/compositing/lib.rs b/components/shared/compositing/lib.rs index 8dadf93d628..c2acb83f240 100644 --- a/components/shared/compositing/lib.rs +++ b/components/shared/compositing/lib.rs @@ -111,12 +111,12 @@ pub enum CompositorMsg { MouseButton, f32, f32, - WebDriverMessageId, + Option<WebDriverMessageId>, ), /// WebDriver mouse move event - WebDriverMouseMoveEvent(WebViewId, f32, f32, WebDriverMessageId), + WebDriverMouseMoveEvent(WebViewId, f32, f32, Option<WebDriverMessageId>), // Webdriver wheel scroll event - WebDriverWheelScrollEvent(WebViewId, f32, f32, f64, f64), + WebDriverWheelScrollEvent(WebViewId, f32, f32, f64, f64, Option<WebDriverMessageId>), /// Inform WebRender of the existence of this pipeline. SendInitialTransaction(WebRenderPipelineId), diff --git a/components/shared/embedder/input_events.rs b/components/shared/embedder/input_events.rs index ff48bd7b7d8..d5c0c7bc46a 100644 --- a/components/shared/embedder/input_events.rs +++ b/components/shared/embedder/input_events.rs @@ -54,7 +54,7 @@ impl InputEvent { InputEvent::MouseButton(event) => event.webdriver_id, InputEvent::MouseMove(event) => event.webdriver_id, InputEvent::Touch(..) => None, - InputEvent::Wheel(..) => None, + InputEvent::Wheel(event) => event.webdriver_id, } } @@ -71,7 +71,9 @@ impl InputEvent { event.webdriver_id = webdriver_id; }, InputEvent::Touch(..) => {}, - InputEvent::Wheel(..) => {}, + InputEvent::Wheel(ref mut event) => { + event.webdriver_id = webdriver_id; + }, }; self @@ -275,6 +277,17 @@ pub struct WheelDelta { pub struct WheelEvent { pub delta: WheelDelta, pub point: DevicePoint, + webdriver_id: Option<WebDriverMessageId>, +} + +impl WheelEvent { + pub fn new(delta: WheelDelta, point: DevicePoint) -> Self { + WheelEvent { + delta, + point, + webdriver_id: None, + } + } } #[derive(Clone, Debug, Deserialize, Serialize)] diff --git a/components/shared/embedder/webdriver.rs b/components/shared/embedder/webdriver.rs index f4f9cd5d509..4333fa9fe2b 100644 --- a/components/shared/embedder/webdriver.rs +++ b/components/shared/embedder/webdriver.rs @@ -50,7 +50,8 @@ pub enum WebDriverCommandMsg { MouseButton, f32, f32, - WebDriverMessageId, + // Should never be None. + Option<WebDriverMessageId>, IpcSender<WebDriverCommandResponse>, ), /// Act as if the mouse was moved in the browsing context with the given ID. @@ -58,11 +59,23 @@ pub enum WebDriverCommandMsg { WebViewId, f32, f32, - WebDriverMessageId, + // None if it's not the last `perform_pointer_move` since we only + // expect one response from constellation for each tick actions. + Option<WebDriverMessageId>, IpcSender<WebDriverCommandResponse>, ), /// Act as if the mouse wheel is scrolled in the browsing context given the given ID. - WheelScrollAction(WebViewId, f32, f32, f64, f64), + WheelScrollAction( + WebViewId, + f32, + f32, + f64, + f64, + // None if it's not the last `perform_wheel_scroll` since we only + // expect one response from constellation for each tick actions. + Option<WebDriverMessageId>, + IpcSender<WebDriverCommandResponse>, + ), /// Set the window size. SetWindowSize(WebViewId, DeviceIntSize, IpcSender<Size2D<f32, CSSPixel>>), /// Take a screenshot of the window. |