Added delete session command.

This commit is contained in:
Alan Jeffrey 2016-05-06 05:32:06 -05:00
parent 835f443865
commit bbf9eca042

View file

@ -299,6 +299,11 @@ impl Handler {
} }
} }
fn handle_delete_session(&mut self) -> WebDriverResult<WebDriverResponse> {
self.session = None;
Ok(WebDriverResponse::Void)
}
#[inline] #[inline]
fn frame_script_command(&self, cmd_msg: WebDriverScriptCommand) -> WebDriverResult<()> { fn frame_script_command(&self, cmd_msg: WebDriverScriptCommand) -> WebDriverResult<()> {
Ok(self.constellation_chan.send(ConstellationMsg::WebDriverCommand( Ok(self.constellation_chan.send(ConstellationMsg::WebDriverCommand(
@ -767,6 +772,7 @@ impl WebDriverHandler<ServoExtensionRoute> for Handler {
match msg.command { match msg.command {
WebDriverCommand::NewSession => self.handle_new_session(), WebDriverCommand::NewSession => self.handle_new_session(),
WebDriverCommand::DeleteSession => self.handle_delete_session(),
WebDriverCommand::Get(ref parameters) => self.handle_get(parameters), WebDriverCommand::Get(ref parameters) => self.handle_get(parameters),
WebDriverCommand::GetCurrentUrl => self.handle_current_url(), WebDriverCommand::GetCurrentUrl => self.handle_current_url(),
WebDriverCommand::GetWindowSize => self.handle_window_size(), WebDriverCommand::GetWindowSize => self.handle_window_size(),
@ -809,6 +815,8 @@ impl WebDriverHandler<ServoExtensionRoute> for Handler {
} }
fn delete_session(&mut self, _session: &Option<Session>) { fn delete_session(&mut self, _session: &Option<Session>) {
// Servo doesn't support multiple sessions, so we exit on session deletion
let _ = self.constellation_chan.send(ConstellationMsg::Exit);
self.session = None; self.session = None;
} }
} }