Skip to content

Commit d9687a0

Browse files
committed
Validate all firstMatch capabilities before merging
This will mean that remote ends will fail in more predictable ways.
1 parent 9eb3cd9 commit d9687a0

File tree

1 file changed

+23
-13
lines changed

1 file changed

+23
-13
lines changed

webdriver-spec.html

Lines changed: 23 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2113,27 +2113,37 @@ <h3>Processing Capabilities</h3>
21132113
return <a>error</a> with <a>error code</a> <a>invalid argument</a>.
21142114
</ol>
21152115

2116+
<li><p>Let <var>validated first match capabilities</var> be an empty
2117+
JSON <a>List</a>.
2118+
21162119
<!-- Validate all entries first so we fail as quickly as possible -->
21172120
<li><p>For each <var>first match capabilities</var> corresponding
21182121
to an indexed property in <var>all first match capabilities</var>:
21192122
<ol>
2120-
<li><p>Let <var>first match capabilities</var> be the result
2123+
<li><p>Let <var>validated capabilities</var> be the result
21212124
of <a>trying</a> to <a>validate capabilities</a> with argument
21222125
<var>first match capabilities</var>.
21232126

2124-
<li><p>Let <var>merged capabilities</var> be the result of
2125-
<a>trying</a> to <a data-lt="merging capabilities">merge
2126-
capabilities</a> with <var>required capabilities</var>
2127-
and <var>first match capabilities</var> as arguments.
2128-
2129-
<li><p>Let <var>matched capabilities</var> be the result of
2130-
<a>trying</a> to <a data-lt="matching capabilities">match
2131-
capabilities</a> with <var>merged capabilities</var> as an
2132-
argument.
2127+
<li><p>Append <var>validated capabilities</var> to
2128+
<var>validated first match capabilities</var>.
2129+
</ol>
21332130

2134-
<li><p>If <var>matched capabilities</var> is
2135-
not <a><code>null</code></a> return
2136-
<var>matched capabilities</var>.
2131+
<li><p>For each <var>first match capbilities</var> corresponding
2132+
to an indexed property in <var>validated first match capabilities</var>:
2133+
<ol>
2134+
<li><p>Let <var>merged capabilities</var> be the result of
2135+
<a>trying</a> to <a data-lt="merging capabilities">merge
2136+
capabilities</a> with <var>required capabilities</var>
2137+
and <var>first match capabilities</var> as arguments.
2138+
2139+
<li><p>Let <var>matched capabilities</var> be the result of
2140+
<a>trying</a> to <a data-lt="matching capabilities">match
2141+
capabilities</a> with <var>merged capabilities</var> as an
2142+
argument.
2143+
2144+
<li><p>If <var>matched capabilities</var> is
2145+
not <a><code>null</code></a> return
2146+
<var>matched capabilities</var>.
21372147
</ol>
21382148

21392149
<li><p>Return <a>success</a> with data <a><code>null</code></a>.

0 commit comments

Comments
 (0)