From 12877511db90b3e64e0f00bd79220a78e00b22a9 Mon Sep 17 00:00:00 2001 From: George Roman Date: Tue, 18 Jun 2019 16:03:30 +0300 Subject: Implement Status WebDriver command --- components/webdriver_server/lib.rs | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'components/webdriver_server') diff --git a/components/webdriver_server/lib.rs b/components/webdriver_server/lib.rs index dcce929652b..ae6a22cdc7e 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, @@ -1409,7 +1420,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()?; }, @@ -1418,6 +1429,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(), -- cgit v1.2.3