This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.
Section "3.1.2 Methods" specifies for method get(): "Return type: (DOMString or boolean or long), nullable". https://dvcs.w3.org/hg/webdriver/raw-file/default/webdriver-spec.html#methods "capabilities" dictionary also is specified to only be allowed DOMString or boolean or long values, too. Some existing drivers - to not name names - don't comply with that, e.g. browserXOptions' value below is not a DOMString or boolean or long: { "desiredCapabilities": { "browserName": "browserX", "platform": "platformY", "browserXOptions": { "browserXSetting": "customValue" } } } Should the spec change to allow the nested dictionaries (and effectively arbitrary JSON) in the capabilities? Or do we want to change existing implementations that aren't currently compliant?
"proxy" capability* is also likely to be specified as a nested dictionary. * Proxy is not yet specified; https://www.w3.org/Bugs/Public/show_bug.cgi?id=26391
The spec currently advises the use of the "-BROWSER-" (-webkit-, -moz-) prefix when introducing remote specific capabilities. And I think the current prose assumes that the capabilities is a flat one dimensional key-value map although that's not explicit in the current wording. This was done to avoid clashes with current and future capabilities (for the role interfaces) introduced by the spec. If we decide to allow nested objects, it really makes a lot more sense to allow any JSON structure including arrays.
This has been fixed in https://github.com/w3c/webdriver/commit/f05cbd4f94c05d17d1adef698dff319972bcbcee