зеркало из https://github.com/mozilla/gecko-dev.git
geckodriver: Shut down session only when we actually lose the connection.
Source-Repo: https://github.com/mozilla/geckodriver Source-Revision: 327cafb002dc9df92f4206c6c5f4793f90451c52 --HG-- extra : rebase_source : 061784fa46a4886d7148c4cb084d63127ccbda31
This commit is contained in:
Родитель
66e24ed483
Коммит
2f4263148c
|
@ -203,13 +203,7 @@ impl WebDriverHandler for MarionetteHandler {
|
|||
match self.connection.lock() {
|
||||
Ok(ref mut connection) => {
|
||||
match connection.as_mut() {
|
||||
Some(conn) => {
|
||||
let mut result = conn.send_message(msg);
|
||||
if let Err(ref mut x) = result {
|
||||
x.set_delete_session();
|
||||
};
|
||||
result
|
||||
},
|
||||
Some(conn) => conn.send_message(msg),
|
||||
None => panic!()
|
||||
}
|
||||
},
|
||||
|
@ -656,13 +650,17 @@ impl MarionetteConnection {
|
|||
match self.stream {
|
||||
Some(ref mut stream) => {
|
||||
if stream.write(&data[..].as_bytes()).is_err() {
|
||||
return Err(WebDriverError::new(ErrorStatus::UnknownError,
|
||||
"Failed to write response to stream"))
|
||||
let mut err = WebDriverError::new(ErrorStatus::UnknownError,
|
||||
"Failed to write response to stream");
|
||||
err.set_delete_session();
|
||||
return Err(err);
|
||||
}
|
||||
},
|
||||
None => {
|
||||
return Err(WebDriverError::new(ErrorStatus::UnknownError,
|
||||
"Tried to write before opening stream"))
|
||||
let mut err = WebDriverError::new(ErrorStatus::UnknownError,
|
||||
"Tried to write before opening stream");
|
||||
err.set_delete_session();
|
||||
return Err(err);
|
||||
}
|
||||
}
|
||||
match self.read_resp() {
|
||||
|
@ -670,8 +668,12 @@ impl MarionetteConnection {
|
|||
debug!("Marionette response {}", resp);
|
||||
Ok(resp)
|
||||
},
|
||||
Err(_) => Err(WebDriverError::new(ErrorStatus::UnknownError,
|
||||
"Failed to decode response from marionette"))
|
||||
Err(_) => {
|
||||
let mut err = WebDriverError::new(ErrorStatus::UnknownError,
|
||||
"Failed to decode response from marionette");
|
||||
err.set_delete_session();
|
||||
Err(err)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче