diff options
author | George Roman <george.roman.99@gmail.com> | 2019-06-18 16:03:30 +0300 |
---|---|---|
committer | George Roman <george.roman.99@gmail.com> | 2019-06-18 17:08:26 +0300 |
commit | 12877511db90b3e64e0f00bd79220a78e00b22a9 (patch) | |
tree | 21ec7387de4c9032bb09960cde50c39f38cbba2f /components/webdriver_server/lib.rs | |
parent | 97ad913dc28b8f762ac22daeaa25118a9f342b27 (diff) | |
download | servo-12877511db90b3e64e0f00bd79220a78e00b22a9.tar.gz servo-12877511db90b3e64e0f00bd79220a78e00b22a9.zip |
Implement Status WebDriver command
Diffstat (limited to 'components/webdriver_server/lib.rs')
-rw-r--r-- | components/webdriver_server/lib.rs | 14 |
1 files changed, 13 insertions, 1 deletions
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<WebDriverResponse> { + 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<ServoExtensionRoute> 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<ServoExtensionRoute> 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(), |