mirror of
https://github.com/servo/servo.git
synced 2025-08-06 14:10:11 +01:00
Move webdriver actions commands to servoshell (#37669)
Move webdriver actions commands to servoshell. Testing: Test with webdriver enable in the CI [Test result 1](https://github.com/longvatrong111/servo/actions/runs/15875355256) [Test result 2](https://github.com/longvatrong111/servo/actions/runs/15875356595) [Test result 3](https://github.com/longvatrong111/servo/actions/runs/15875361886) Fixes: https://github.com/servo/servo/issues/37370 Signed-off-by: batu_hoang <longvatrong111@gmail.com>
This commit is contained in:
parent
9bd8d4f026
commit
940eff9497
12 changed files with 126 additions and 208 deletions
|
@ -8,10 +8,7 @@ use std::fmt::{Debug, Error, Formatter};
|
|||
|
||||
use base::id::{PipelineId, WebViewId};
|
||||
use crossbeam_channel::Sender;
|
||||
use embedder_traits::{
|
||||
AnimationState, EventLoopWaker, MouseButton, MouseButtonAction, TouchEventResult,
|
||||
WebDriverMessageId,
|
||||
};
|
||||
use embedder_traits::{AnimationState, EventLoopWaker, TouchEventResult};
|
||||
use euclid::Rect;
|
||||
use ipc_channel::ipc::IpcSender;
|
||||
use log::warn;
|
||||
|
@ -105,20 +102,6 @@ pub enum CompositorMsg {
|
|||
PipelineExited(WebViewId, PipelineId, PipelineExitSource),
|
||||
/// The load of a page has completed
|
||||
LoadComplete(WebViewId),
|
||||
/// WebDriver mouse button event
|
||||
WebDriverMouseButtonEvent(
|
||||
WebViewId,
|
||||
MouseButtonAction,
|
||||
MouseButton,
|
||||
f32,
|
||||
f32,
|
||||
Option<WebDriverMessageId>,
|
||||
),
|
||||
/// WebDriver mouse move event
|
||||
WebDriverMouseMoveEvent(WebViewId, f32, f32, Option<WebDriverMessageId>),
|
||||
// Webdriver wheel scroll event
|
||||
WebDriverWheelScrollEvent(WebViewId, f32, f32, f64, f64, Option<WebDriverMessageId>),
|
||||
|
||||
/// Inform WebRender of the existence of this pipeline.
|
||||
SendInitialTransaction(WebRenderPipelineId),
|
||||
/// Perform a scroll operation.
|
||||
|
|
|
@ -20,7 +20,7 @@ use base::cross_process_instant::CrossProcessInstant;
|
|||
use base::id::{MessagePortId, PipelineId, WebViewId};
|
||||
use embedder_traits::{
|
||||
CompositorHitTestResult, Cursor, InputEvent, JavaScriptEvaluationId, MediaSessionActionType,
|
||||
Theme, ViewportDetails, WebDriverCommandMsg,
|
||||
Theme, ViewportDetails, WebDriverCommandMsg, WebDriverCommandResponse,
|
||||
};
|
||||
pub use from_script_message::*;
|
||||
use ipc_channel::ipc::IpcSender;
|
||||
|
@ -96,6 +96,8 @@ pub enum EmbedderToConstellationMessage {
|
|||
CreateMemoryReport(IpcSender<MemoryReportResult>),
|
||||
/// Sends the generated image key to the image cache associated with this pipeline.
|
||||
SendImageKeysForPipeline(PipelineId, Vec<ImageKey>),
|
||||
/// Set WebDriver input event handled sender.
|
||||
SetWebDriverResponseSender(IpcSender<WebDriverCommandResponse>),
|
||||
}
|
||||
|
||||
/// A description of a paint metric that is sent from the Servo renderer to the
|
||||
|
|
|
@ -30,6 +30,9 @@ pub struct WebDriverMessageId(pub usize);
|
|||
/// Messages to the constellation originating from the WebDriver server.
|
||||
#[derive(Debug, Deserialize, Serialize)]
|
||||
pub enum WebDriverCommandMsg {
|
||||
/// Used in the initialization of the WebDriver server to set the sender for sending responses
|
||||
/// back to the WebDriver client. It is set to constellation for now
|
||||
SetWebDriverResponseSender(IpcSender<WebDriverCommandResponse>),
|
||||
/// Get the window size.
|
||||
GetWindowRect(WebViewId, IpcSender<DeviceIntRect>),
|
||||
/// Get the viewport size.
|
||||
|
@ -53,7 +56,6 @@ pub enum WebDriverCommandMsg {
|
|||
KeyboardEvent,
|
||||
// Should never be None.
|
||||
Option<WebDriverMessageId>,
|
||||
IpcSender<WebDriverCommandResponse>,
|
||||
),
|
||||
/// Act as if the mouse was clicked in the browsing context with the given ID.
|
||||
MouseButtonAction(
|
||||
|
@ -64,7 +66,6 @@ pub enum WebDriverCommandMsg {
|
|||
f32,
|
||||
// Should never be None.
|
||||
Option<WebDriverMessageId>,
|
||||
IpcSender<WebDriverCommandResponse>,
|
||||
),
|
||||
/// Act as if the mouse was moved in the browsing context with the given ID.
|
||||
MouseMoveAction(
|
||||
|
@ -74,7 +75,6 @@ pub enum WebDriverCommandMsg {
|
|||
// 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(
|
||||
|
@ -86,7 +86,6 @@ pub enum WebDriverCommandMsg {
|
|||
// 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(
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue