aboutsummaryrefslogtreecommitdiffstats
path: root/components/webdriver_server/lib.rs
diff options
context:
space:
mode:
authorGeorge Roman <george.roman.99@gmail.com>2019-06-18 16:03:30 +0300
committerGeorge Roman <george.roman.99@gmail.com>2019-06-18 17:08:26 +0300
commit12877511db90b3e64e0f00bd79220a78e00b22a9 (patch)
tree21ec7387de4c9032bb09960cde50c39f38cbba2f /components/webdriver_server/lib.rs
parent97ad913dc28b8f762ac22daeaa25118a9f342b27 (diff)
downloadservo-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.rs14
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(),