aboutsummaryrefslogtreecommitdiffstats
path: root/components/shared
diff options
context:
space:
mode:
Diffstat (limited to 'components/shared')
-rw-r--r--components/shared/compositing/lib.rs6
-rw-r--r--components/shared/embedder/input_events.rs17
-rw-r--r--components/shared/embedder/webdriver.rs19
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.