diff --git a/components/webdriver_server/lib.rs b/components/webdriver_server/lib.rs index c43699629f7..368bfb1e0ae 100644 --- a/components/webdriver_server/lib.rs +++ b/components/webdriver_server/lib.rs @@ -542,6 +542,17 @@ impl Handler { Ok(WebDriverResponse::DeleteSession) } + // https://w3c.github.io/webdriver/#status + fn handle_status(&self) -> WebDriverResult { + Ok(WebDriverResponse::Generic(ValueResponse( + if self.session.is_none() { + json!({ "ready": true, "message": "Ready for a new session" }) + } else { + json!({ "ready": false, "message": "Not ready for a new session" }) + }, + ))) + } + fn browsing_context_script_command( &self, cmd_msg: WebDriverScriptCommand, @@ -1426,7 +1437,7 @@ impl WebDriverHandler for Handler { // Unless we are trying to create a new session, we need to ensure that a // session has previously been created match msg.command { - WebDriverCommand::NewSession(_) => {}, + WebDriverCommand::NewSession(_) | WebDriverCommand::Status => {}, _ => { self.session()?; }, @@ -1435,6 +1446,7 @@ impl WebDriverHandler for Handler { match msg.command { WebDriverCommand::NewSession(ref parameters) => self.handle_new_session(parameters), WebDriverCommand::DeleteSession => self.handle_delete_session(), + WebDriverCommand::Status => self.handle_status(), WebDriverCommand::AddCookie(ref parameters) => self.handle_add_cookie(parameters), WebDriverCommand::Get(ref parameters) => self.handle_get(parameters), WebDriverCommand::GetCurrentUrl => self.handle_current_url(), diff --git a/tests/wpt/metadata/webdriver/tests/status/status.py.ini b/tests/wpt/metadata/webdriver/tests/status/status.py.ini deleted file mode 100644 index 53b7ccaecc4..00000000000 --- a/tests/wpt/metadata/webdriver/tests/status/status.py.ini +++ /dev/null @@ -1,2 +0,0 @@ -[status.py] - disabled: Unimplemented WebDriver command