webdriver icon indicating copy to clipboard operation
webdriver copied to clipboard

The "process capabilities" steps provides an unreferenced "flags" parameter to "validate capabilities"

Open trflynn89 opened this issue 10 months ago • 0 comments

In the "process capabilities" algorithm, steps 2.2 and 5.1 provide a "flags" parameter to the "validate capabilities" algorithm:

2.2. Let required capabilities be the result of trying to validate capabilities with arguments required capabilities and flag.
5.1. Let validated capabilities be the result of trying to validate capabilities with arguments first match capabilities and flags.

(Note there's also a typo in step 2.2., it says "flag" instead of "flags").

However, the "validate capabilities" algorithm does not mention any flags parameter in its header, nor is it referenced in any of its steps:

When required to validate capabilities with argument capabilities: 

On the other hand, the "matching capabilities" algorithm does need a flags parameter, but "process capabilities" does not provide this parameter in step 8.1:

8.1. Let matched capabilities be the result of trying to match capabilities with capabilities as an argument. 
When matching capabilities given JSON Object capabilities, and a session configuration flags flags, an endpoint node must take the following steps:

Further, the use of "flags" within "matching capabilities" seems strangely written. It is used to conditionally set the "strictFileInteractability" item in step 2:

2. If flags contains "http", add the following entries to matched capabilities:

   "strictFileInteractability"
   Boolean initially set to false, indicating that interactabilty checks will be applied to <input type=file>. 

(There's another typo here, should be "interactability checks").

However, this item is already set in step 1. Should the item in step 1 have been removed?

trflynn89 avatar Feb 05 '25 16:02 trflynn89