PSA: Adding WebDriver commands for interacting with FedCM dialogs

64 views
Skip to first unread message

Christian Biesinger

unread,
May 4, 2023, 3:32:40 PM5/4/23
to blink-dev

This would be an Intent to Ship, but since this is not web-exposed, my understanding is that the intent process does not apply. Nonetheless, I wanted to give y’all a heads-up about this.


Contact emails

cbies...@chromium.org


Explainer

None


Specification

https://github.com/fedidcg/FedCM/pull/465


Design docs


https://github.com/fedidcg/FedCM/blob/main/proposals/webdriver.md


Summary

This exposes several WebDriver commands to allow browser automation, such as automated testing, to interact with FedCM dialogs.



Blink component

Blink>Identity>FedCM


TAG review

None


TAG review status

Not applicable


Risks



Interoperability and Compatibility

This is not web-exposed.



Gecko: Positive (https://github.com/fedidcg/FedCM/pull/395#issuecomment-1384466751) Since this is not web-exposed, I do not think it makes sense to file a standards position request.


WebKit: No signal We have no signal from Safari for FedCM in general; as such, we have no signal for this part either


Web developers: Positive At least one user is interested and sees the lack of this as a blocker to rolling out FedCM support


Other signals:


Ergonomics

n/a



Activation

I am planning to also change Selenium to expose Java APIs for these commands, making them easy to use.



Security

n/a, this is only exposed through WebDriver.



WebView application risks

Does this intent deprecate or change behavior of existing APIs, such that it has potentially high risk for Android WebView-based applications?



Debuggability

This is a debugging feature.



Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, Chrome OS, Android, and Android WebView)?

Yes


Is this feature fully tested by web-platform-tests?

No -- it will be tested by chromedriver tests


Flag name



Requires code in //chrome?

True


Estimated milestones

Shipping on desktop

115


Shipping on Android

115





Anticipated spec changes

Open questions about a feature may be a source of future web compat or interop issues. Please list open issues (e.g. links to known github issues in the project for the feature specification) whose resolution may introduce web compat/interop risk (e.g., changing to naming or structure of the API in a non-backward-compatible way).



Link to entry on the Chrome Platform Status

https://chromestatus.com/feature/5103072721764352


Philip Jägenstedt

unread,
May 8, 2023, 4:46:17 AM5/8/23
to Christian Biesinger, blink-dev
Hi Christian,

Thanks for sending this PSA, and thank you for careful attention to testability of FedCM. It's extra work, but if history is any guide it will make FedCM more interoperable, and web developers will rejoice!

WebDriver changes don't need to go through the Blink launch process, but a few comments that I'd say if this was an Intent to Ship :)

I see that https://github.com/fedidcg/FedCM/pull/465 isn't merged yet, do you expect it to be before this is shipped, or is something blocking it?

And can this be tested in web-platform-tests using pytest similar to how other WebDriver classic endpoints are tested?

Finally, a bleeding edge question. There are currently no WebDriver BiDi extensions in other specs at all, but I wonder if anything about your API would change if this was an extension to https://w3c.github.io/webdriver-bidi/ and events sent from the browser to the automation client become possible? In particular, would you want an event that says a FedCM dialog has been opened?

Best regards,
Philip

--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAPTJ0XFZdXiLw7c6ama%3DE6zm3aVcm377%2B5XAhYqEHa%3D7z%2Bgecg%40mail.gmail.com.

Christian Biesinger

unread,
May 8, 2023, 11:02:06 AM5/8/23
to Philip Jägenstedt, blink-dev
On Mon, May 8, 2023 at 4:46 AM Philip Jägenstedt <foo...@chromium.org> wrote:
Hi Christian,

Thanks for sending this PSA, and thank you for careful attention to testability of FedCM. It's extra work, but if history is any guide it will make FedCM more interoperable, and web developers will rejoice!

WebDriver changes don't need to go through the Blink launch process, but a few comments that I'd say if this was an Intent to Ship :)

I see that https://github.com/fedidcg/FedCM/pull/465 isn't merged yet, do you expect it to be before this is shipped, or is something blocking it?

I am hoping to merge it before shipping. I'd like someone from Firefox to explicitly comment on the PR before doing that if possible.
 

And can this be tested in web-platform-tests using pytest similar to how other WebDriver classic endpoints are tested?

I was not aware that wpt contains tests for WebDriver endpoints, I only know of https://source.chromium.org/chromium/chromium/src/+/main:chrome/test/chromedriver/test/run_py_tests.py;l=1?q=run_py_tests.py&sq=&ss=chromium (where I am adding tests for the new endpoints)

Can you point me to tests in wpt?
 

Finally, a bleeding edge question. There are currently no WebDriver BiDi extensions in other specs at all, but I wonder if anything about your API would change if this was an extension to https://w3c.github.io/webdriver-bidi/ and events sent from the browser to the automation client become possible? In particular, would you want an event that says a FedCM dialog has been opened?

Yes, I would love to do this as an event. The underlying devtools protocol does expose it as an event and it would be great to expose this as one to webdriver. But I understand webdriver-bidi is not ready yet.

Thanks,
Christian
Reply all
Reply to author
Forward
0 new messages