w3c / webdriver

Remote control interface that enables introspection and control of user agents.
https://w3c.github.io/webdriver/
Other
679 stars 194 forks source link

"Additional WebDriver capabilities" vs "extension capabilities" clarification #1749

Open rakuco opened 1 year ago

rakuco commented 1 year ago

The terms look a bit confusing to me, so before I start using them in the Generic Sensor spec I'd like to double check I've understood everything correctly.

The way I've read it, other specs are supposed to provide "additional WebDriver capabilities" when necessary (along with a "additional capability deserialization algorithm" and a "matched capability serialization algorithm". These additional WebDriver capabilities must not have ':' in their name.

UAs, intermediary nodes and remote ends, on the other hand, may provide additional "extension capabilities" whose names must include ':'. The WebDriver spec does not put a lot of requirements on how these capabilities are supposed to be serialized or deserialized (there's no "extension capability deserialization algorithm" <dfn>, for example).

rakuco commented 1 year ago

@whimboo would you have more information about this by any chance?

whimboo commented 1 year ago

Not sure I understand. Both the referenced specifications use the correct prefix for the extension command, which is supposed to be used when a feature isn't directly specified in the WebDriver specification. Everything around those specified extension capabilities like types, parsing, handling etc would require explicit steps in the appropriate other specification.

@jgraham may be able to extend on that if further questions exist.

rakuco commented 1 year ago

My understanding reading the spec is that other specifications should define additional WebDriver capabilities, which are different from extension capabilities. The former provides hooks for specs that allow other specifications to have to write less prose than the referenced specs currently do, but the naming needs to be different.

The referenced specifications to the opposite, possibly because the names are confusing.

mathiasbynens commented 3 weeks ago

My understanding is:

If my understanding is correct, the name fedcm:accounts in https://w3c-fedid.github.io/FedCM/#webdriver-capability should change.