diff options
author | Andreas Tolfsen <ato@mozilla.com> | 2017-04-05 15:35:27 +0300 |
---|---|---|
committer | jgraham <james@hoppipolla.co.uk> | 2017-04-07 16:26:58 +0300 |
commit | c6cf7b9e2bc2d01bb20f9fb995ee29a892644d15 (patch) | |
tree | 3b82f6610576640812ff20807199e67bdb3e99e9 | |
parent | 8f19dc4dac63da4153584a2a6974c26be9453ecc (diff) |
marionette: remove capabilities field wrapping for NewSession
Remove one layer of wrapping inside the `capabilities' field when
geckodriver sends the capabilities to Marionette.
Prior to this patch, geckodriver would send the following JSON Object
to Marionette's newSession command:
{capabilities: {foo: 1, {desiredCapabilities: {foo: 1}}}}
Following this patch, it sends:
{foo: 1, {capabilities: {desiredCapabilities: {foo: 1}}}}
In the future, the idea is to remove the capabilities object altogether
and just send
{foo: 1}
-rw-r--r-- | src/marionette.rs | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/src/marionette.rs b/src/marionette.rs index cb1ebb9..e04c672 100644 --- a/src/marionette.rs +++ b/src/marionette.rs @@ -832,17 +832,17 @@ impl MarionetteCommand { let (opt_name, opt_parameters) = match msg.command { NewSession(_) => { let caps = capabilities.expect("Tried to create new session without processing capabilities"); + let mut data = BTreeMap::new(); - data.insert("sessionId".to_string(), Json::Null); - let mut capabilites = BTreeMap::new(); - for (key, value) in caps.iter() { - capabilites.insert(key.to_string(), value.to_json()); + for (k, v) in caps.iter() { + data.insert(k.to_string(), v.to_json()); } - // Copy into a desiredCapabilities key for legacy compat. - capabilites.insert("desiredCapabilities".to_string(), - caps.to_json()); - data.insert("capabilities".to_string(), - capabilites.to_json()); + + // duplicate in capabilities.desiredCapabilities for legacy compat + let mut legacy_caps = BTreeMap::new(); + legacy_caps.insert("desiredCapabilities".to_string(), caps.to_json()); + data.insert("capabilities".to_string(), legacy_caps.to_json()); + (Some("newSession"), Some(Ok(data))) }, DeleteSession => { |