mirror of
https://github.com/servo/servo.git
synced 2025-08-06 06:00:15 +01:00
webdriver: Add handle any user prompts
step for all commands (#38035)
- Add `handler any user prompt` step for all commands. - Enable webdriver tests which were blocked by `handle any user prompt` step. --------- Signed-off-by: batu_hoang <hoang.binh.trong@huawei.com>
This commit is contained in:
parent
18d1a62add
commit
345733a5c5
66 changed files with 859 additions and 472 deletions
|
@ -28,10 +28,48 @@ use crate::{MouseButton, MouseButtonAction};
|
|||
#[derive(Clone, Copy, Debug, Deserialize, PartialEq, Serialize)]
|
||||
pub struct WebDriverMessageId(pub usize);
|
||||
|
||||
#[derive(Debug, Deserialize, Serialize)]
|
||||
#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, PartialEq, Serialize)]
|
||||
pub enum WebDriverUserPrompt {
|
||||
Alert,
|
||||
BeforeUnload,
|
||||
Confirm,
|
||||
Default,
|
||||
File,
|
||||
Prompt,
|
||||
FallbackDefault,
|
||||
}
|
||||
|
||||
impl WebDriverUserPrompt {
|
||||
pub fn new_from_str(s: &str) -> Option<Self> {
|
||||
match s {
|
||||
"alert" => Some(WebDriverUserPrompt::Alert),
|
||||
"beforeUnload" => Some(WebDriverUserPrompt::BeforeUnload),
|
||||
"confirm" => Some(WebDriverUserPrompt::Confirm),
|
||||
"default" => Some(WebDriverUserPrompt::Default),
|
||||
"file" => Some(WebDriverUserPrompt::File),
|
||||
"prompt" => Some(WebDriverUserPrompt::Prompt),
|
||||
"fallbackDefault" => Some(WebDriverUserPrompt::FallbackDefault),
|
||||
_ => None,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
|
||||
pub enum WebDriverUserPromptAction {
|
||||
Accept,
|
||||
Dismiss,
|
||||
Ignore,
|
||||
}
|
||||
|
||||
impl WebDriverUserPromptAction {
|
||||
pub fn new_from_str(s: &str) -> Option<Self> {
|
||||
match s {
|
||||
"accept" => Some(WebDriverUserPromptAction::Accept),
|
||||
"dismiss" => Some(WebDriverUserPromptAction::Dismiss),
|
||||
"ignore" => Some(WebDriverUserPromptAction::Ignore),
|
||||
_ => None,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// Messages to the constellation originating from the WebDriver server.
|
||||
|
@ -121,10 +159,11 @@ pub enum WebDriverCommandMsg {
|
|||
IsWebViewOpen(WebViewId, IpcSender<bool>),
|
||||
/// Check whether browsing context is open.
|
||||
IsBrowsingContextOpen(BrowsingContextId, IpcSender<bool>),
|
||||
CurrentUserPrompt(WebViewId, IpcSender<Option<WebDriverUserPrompt>>),
|
||||
HandleUserPrompt(
|
||||
WebViewId,
|
||||
WebDriverUserPromptAction,
|
||||
IpcSender<Result<(), ()>>,
|
||||
IpcSender<Result<Option<String>, ()>>,
|
||||
),
|
||||
GetAlertText(WebViewId, IpcSender<Result<String, ()>>),
|
||||
AddLoadStatusSender(WebViewId, IpcSender<WebDriverLoadStatus>),
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue