aboutsummaryrefslogtreecommitdiffstats
path: root/components/webdriver_server
diff options
context:
space:
mode:
authorSimon Sapin <simon.sapin@exyr.org>2017-06-18 13:21:04 +0200
committerSimon Sapin <simon.sapin@exyr.org>2017-06-18 13:21:51 +0200
commit316cd35767ce94e33cd778a684ebd2dcedfde537 (patch)
tree3c21637169f75113d3c17a214a8693ff64770836 /components/webdriver_server
parent7af5a7fd5409ab8db0274eb829136e5953e718ed (diff)
downloadservo-316cd35767ce94e33cd778a684ebd2dcedfde537.tar.gz
servo-316cd35767ce94e33cd778a684ebd2dcedfde537.zip
Untry
Diffstat (limited to 'components/webdriver_server')
-rw-r--r--components/webdriver_server/keys.rs3
-rw-r--r--components/webdriver_server/lib.rs50
2 files changed, 26 insertions, 27 deletions
diff --git a/components/webdriver_server/keys.rs b/components/webdriver_server/keys.rs
index 8d78270acea..ce516411c75 100644
--- a/components/webdriver_server/keys.rs
+++ b/components/webdriver_server/keys.rs
@@ -172,8 +172,7 @@ pub fn keycodes_to_keys(key_codes: &[char]) -> Result<Vec<(Key, KeyModifiers, Ke
let mut rv = vec![];
for char_code in key_codes.iter() {
- let (key, with_shift) = try!(
- key_from_char(char_code).ok_or(format!("Unsupported character code {}", char_code)));
+ let (key, with_shift) = key_from_char(char_code).ok_or(format!("Unsupported character code {}", char_code))?;
let modifiers = if with_shift {
SHIFT
} else {
diff --git a/components/webdriver_server/lib.rs b/components/webdriver_server/lib.rs
index f6e81fd5a33..bd2f667f989 100644
--- a/components/webdriver_server/lib.rs
+++ b/components/webdriver_server/lib.rs
@@ -155,15 +155,15 @@ impl WebDriverExtensionRoute for ServoExtensionRoute {
body_data: &Json) -> WebDriverResult<WebDriverCommand<ServoExtensionCommand>> {
let command = match *self {
ServoExtensionRoute::GetPrefs => {
- let parameters: GetPrefsParameters = try!(Parameters::from_json(&body_data));
+ let parameters: GetPrefsParameters = Parameters::from_json(&body_data)?;
ServoExtensionCommand::GetPrefs(parameters)
}
ServoExtensionRoute::SetPrefs => {
- let parameters: SetPrefsParameters = try!(Parameters::from_json(&body_data));
+ let parameters: SetPrefsParameters = Parameters::from_json(&body_data)?;
ServoExtensionCommand::SetPrefs(parameters)
}
ServoExtensionRoute::ResetPrefs => {
- let parameters: GetPrefsParameters = try!(Parameters::from_json(&body_data));
+ let parameters: GetPrefsParameters = Parameters::from_json(&body_data)?;
ServoExtensionCommand::ResetPrefs(parameters)
}
};
@@ -195,19 +195,19 @@ struct GetPrefsParameters {
impl Parameters for GetPrefsParameters {
fn from_json(body: &Json) -> WebDriverResult<GetPrefsParameters> {
- let data = try!(body.as_object().ok_or(
+ let data = body.as_object().ok_or(
WebDriverError::new(ErrorStatus::InvalidArgument,
- "Message body was not an object")));
- let prefs_value = try!(data.get("prefs").ok_or(
+ "Message body was not an object"))?;
+ let prefs_value = data.get("prefs").ok_or(
WebDriverError::new(ErrorStatus::InvalidArgument,
- "Missing prefs key")));
- let items = try!(prefs_value.as_array().ok_or(
+ "Missing prefs key"))?;
+ let items = prefs_value.as_array().ok_or(
WebDriverError::new(
ErrorStatus::InvalidArgument,
- "prefs was not an array")));
- let params = try!(items.iter().map(|x| x.as_string().map(|y| y.to_owned()).ok_or(
+ "prefs was not an array"))?;
+ let params = items.iter().map(|x| x.as_string().map(|y| y.to_owned()).ok_or(
WebDriverError::new(ErrorStatus::InvalidArgument,
- "Pref is not a string"))).collect::<Result<Vec<_>, _>>());
+ "Pref is not a string"))).collect::<Result<Vec<_>, _>>()?;
Ok(GetPrefsParameters {
prefs: params
})
@@ -229,20 +229,20 @@ struct SetPrefsParameters {
impl Parameters for SetPrefsParameters {
fn from_json(body: &Json) -> WebDriverResult<SetPrefsParameters> {
- let data = try!(body.as_object().ok_or(
+ let data = body.as_object().ok_or(
WebDriverError::new(ErrorStatus::InvalidArgument,
- "Message body was not an object")));
- let items = try!(try!(data.get("prefs").ok_or(
+ "Message body was not an object"))?;
+ let items = data.get("prefs").ok_or(
WebDriverError::new(ErrorStatus::InvalidArgument,
- "Missing prefs key"))).as_object().ok_or(
+ "Missing prefs key"))?.as_object().ok_or(
WebDriverError::new(
ErrorStatus::InvalidArgument,
- "prefs was not an array")));
+ "prefs was not an array"))?;
let mut params = Vec::with_capacity(items.len());
for (name, val) in items.iter() {
- let value = try!(PrefValue::from_json(val.clone()).or(
+ let value = PrefValue::from_json(val.clone()).or(
Err(WebDriverError::new(ErrorStatus::InvalidArgument,
- "Pref is not a boolean or string"))));
+ "Pref is not a boolean or string")))?;
let key = name.to_owned();
params.push((key, value));
}
@@ -702,9 +702,9 @@ impl Handler {
fn handle_set_timeouts(&mut self,
parameters: &TimeoutsParameters)
-> WebDriverResult<WebDriverResponse> {
- let mut session = try!(self.session
+ let mut session = self.session
.as_mut()
- .ok_or(WebDriverError::new(ErrorStatus::SessionNotCreated, "")));
+ .ok_or(WebDriverError::new(ErrorStatus::SessionNotCreated, ""))?;
session.script_timeout = parameters.script;
session.load_timeout = parameters.page_load;
@@ -776,11 +776,11 @@ impl Handler {
self.constellation_chan.send(ConstellationMsg::WebDriverCommand(cmd_msg)).unwrap();
// TODO: distinguish the not found and not focusable cases
- try!(receiver.recv().unwrap().or_else(|_| Err(WebDriverError::new(
- ErrorStatus::StaleElementReference, "Element not found or not focusable"))));
+ receiver.recv().unwrap().or_else(|_| Err(WebDriverError::new(
+ ErrorStatus::StaleElementReference, "Element not found or not focusable")))?;
- let keys = try!(keycodes_to_keys(&keys.value).or_else(|_|
- Err(WebDriverError::new(ErrorStatus::UnsupportedOperation, "Failed to convert keycodes"))));
+ let keys = keycodes_to_keys(&keys.value).or_else(|_|
+ Err(WebDriverError::new(ErrorStatus::UnsupportedOperation, "Failed to convert keycodes")))?;
// TODO: there's a race condition caused by the focus command and the
// send keys command being two separate messages,
@@ -870,7 +870,7 @@ impl WebDriverHandler<ServoExtensionRoute> for Handler {
match msg.command {
WebDriverCommand::NewSession(_) => {},
_ => {
- try!(self.session());
+ self.session()?;
}
}