<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://www.w3.org/Bugs/Public/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4"
          urlbase="https://www.w3.org/Bugs/Public/"
          
          maintainer="sysbot+bugzilla@w3.org"
>

    <bug>
          <bug_id>27103</bug_id>
          
          <creation_ts>2014-10-19 20:56:23 +0000</creation_ts>
          <short_desc>Allow nested dictionaries in capabilities</short_desc>
          <delta_ts>2015-05-30 19:44:23 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>Browser Test/Tools WG</product>
          <component>WebDriver</component>
          <version>unspecified</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>20860</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="seva">vlotoshnikov</reporter>
          <assigned_to name="Browser Testing and Tools WG">public-browser-tools-testing</assigned_to>
          <cc>ato</cc>
    
    <cc>dburns</cc>
    
    <cc>mike</cc>
          
          <qa_contact name="Browser Testing and Tools WG">public-browser-tools-testing</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>113429</commentid>
    <comment_count>0</comment_count>
    <who name="seva">vlotoshnikov</who>
    <bug_when>2014-10-19 20:56:23 +0000</bug_when>
    <thetext>Section &quot;3.1.2 Methods&quot; specifies for method get():
&quot;Return type: (DOMString or boolean or long), nullable&quot;.

https://dvcs.w3.org/hg/webdriver/raw-file/default/webdriver-spec.html#methods

&quot;capabilities&quot; dictionary also is specified to only be allowed DOMString or boolean or long values, too.

Some existing drivers - to not name names - don&apos;t comply with that, e.g. browserXOptions&apos; value below is not a DOMString or boolean or long:
{
   &quot;desiredCapabilities&quot;: {
      &quot;browserName&quot;: &quot;browserX&quot;,
      &quot;platform&quot;: &quot;platformY&quot;,
      &quot;browserXOptions&quot;: {
         &quot;browserXSetting&quot;: &quot;customValue&quot;
      }
   }
}

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&apos;t currently compliant?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>113430</commentid>
    <comment_count>1</comment_count>
    <who name="seva">vlotoshnikov</who>
    <bug_when>2014-10-19 21:29:18 +0000</bug_when>
    <thetext>&quot;proxy&quot; 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</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>113443</commentid>
    <comment_count>2</comment_count>
    <who name="Andreas Tolfsen">ato</who>
    <bug_when>2014-10-20 12:21:33 +0000</bug_when>
    <thetext>The spec currently advises the use of the &quot;-BROWSER-&quot; (-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&apos;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.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>120614</commentid>
    <comment_count>3</comment_count>
    <who name="David Burns :automatedtester">dburns</who>
    <bug_when>2015-05-30 19:43:50 +0000</bug_when>
    <thetext>This has been fixed in https://github.com/w3c/webdriver/commit/f05cbd4f94c05d17d1adef698dff319972bcbcee</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>