aboutsummaryrefslogtreecommitdiffstats
path: root/components/webdriver_server/lib.rs
diff options
context:
space:
mode:
authorGeorge Roman <george.roman.99@gmail.com>2019-06-17 16:10:38 +0300
committerGeorge Roman <george.roman.99@gmail.com>2019-07-21 15:55:19 +0300
commit7d5b324bdac227d173d595116219cb8b9cbf1282 (patch)
treea2ad301302558fab0233b34bd64d21609d47638b /components/webdriver_server/lib.rs
parent4128a3893662c61a19b9316cd19eab7533518453 (diff)
downloadservo-7d5b324bdac227d173d595116219cb8b9cbf1282.tar.gz
servo-7d5b324bdac227d173d595116219cb8b9cbf1282.zip
Implement tag name selector for FindElement WebDriver command
Diffstat (limited to 'components/webdriver_server/lib.rs')
-rw-r--r--components/webdriver_server/lib.rs26
1 files changed, 17 insertions, 9 deletions
diff --git a/components/webdriver_server/lib.rs b/components/webdriver_server/lib.rs
index 4df9e0d56b6..b714520c8be 100644
--- a/components/webdriver_server/lib.rs
+++ b/components/webdriver_server/lib.rs
@@ -804,17 +804,25 @@ impl Handler {
&self,
parameters: &LocatorParameters,
) -> WebDriverResult<WebDriverResponse> {
- if parameters.using != LocatorStrategy::CSSSelector {
- return Err(WebDriverError::new(
- ErrorStatus::UnsupportedOperation,
- "Unsupported locator strategy",
- ));
- }
-
let (sender, receiver) = ipc::channel().unwrap();
- let cmd = WebDriverScriptCommand::FindElementCSS(parameters.value.clone(), sender);
- self.browsing_context_script_command(cmd)?;
+ match parameters.using {
+ LocatorStrategy::CSSSelector => {
+ let cmd = WebDriverScriptCommand::FindElementCSS(parameters.value.clone(), sender);
+ self.browsing_context_script_command(cmd)?;
+ },
+ LocatorStrategy::TagName => {
+ let cmd =
+ WebDriverScriptCommand::FindElementTagName(parameters.value.clone(), sender);
+ self.browsing_context_script_command(cmd)?;
+ },
+ _ => {
+ return Err(WebDriverError::new(
+ ErrorStatus::UnsupportedOperation,
+ "Unsupported locator strategy",
+ ));
+ },
+ }
match receiver.recv().unwrap() {
Ok(value) => {