Note: We've done outreach to the WPWG members (https://lists.w3.org/Archives/Public/public-payments-wg/2025Feb/0008.html), and are following up with known partners directly.
We don't have UseCounters here currently; I'm hoping to land some for M135, but this is such a niche case (creation within an iframe is rare/non-existent today in practice, and this further requires that you are catching *and care about* the specific error type for missing user activation) that I may request I2S without that data. On Monday, February 24, 2025 at 10:34:46 AM UTC-5 Stephen McGruer wrote: > Contact emailssmcgr...@chromium.org > > Explainerhttps://github.com/w3c/secure-payment-confirmation/issues/267 > > SpecificationNone > > Summary > > Correct the error type thrown during WebAuthn credential creation for > 'payment' credentials. Due to a historic specification mismatch, creating a > 'payment' credential in a cross-origin iframe without a user activation > would throw a SecurityError instead of a NotAllowedError, which is what is > thrown for non-payment credentials. This is a breaking change, albeit a > niche one. Code that previously detected the type of error thrown (e.g., `e > instanceof SecurityError`) would be affected. Code that just generally > handles errors during credential creation (e.g. `catch (e)`) will continue > to function correctly. > > > Blink componentBlink>Payments > <https://issues.chromium.org/issues?q=customfield1222907:%22Blink%3EPayments%22> > > Motivation > > As part of Secure Payment Confirmation (SPC), WebAuthn credentials with > the 'payment' extension could be created in a cross-origin iframe before > this was allowed for other WebAuthn credentials. When the ability to do > this for all WebAuthn credentials was added in > https://github.com/w3c/webauthn/pull/1801, an accidental spec > misalignment was made. In the very specific case of credential creation in > a cross-origin iframe without user activation, the SPC spec said to throw a > SecurityError, whilst the WebAuthn spec said to throw a NotAllowedError. > This misalignment has now been corrected at the specification level ( > https://github.com/w3c/secure-payment-confirmation/issues/267), and so > left Chromium as non-compliant with the specification. > > > Initial public proposal > https://github.com/w3c/secure-payment-confirmation/issues/267 > > TAG reviewNone > > TAG review statusN/A - minor change to existing specification > > Risks > Interoperability and Compatibility > > None > > *Gecko*: N/A - minor change to existing specification. Note that SPC is > not implemented or supported by Gecko. > > *WebKit*: N/A - minor change to existing specification. Note that SPC is > not implemented or supported by Gecko. > > *Web developers*: No signals > > 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? > > None > > Debuggability > > None > > Is this feature fully tested by web-platform-tests > <https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md> > ?Yes (but still testing the old behavior) - > https://wpt.fyi/results/secure-payment-confirmation/enrollment-in-iframe.sub.https.html?label=experimental&label=master&aligned > > Flag name on about://flags > chrome://web-authentication-align-error-type-for-payment-credential-create > > Finch feature nameNone > > Non-finch justificationNone > > Requires code in //chrome?False > > Estimated milestones > > No milestones specified > > Link to entry on the Chrome Platform Status > https://chromestatus.com/feature/5160752715137024?gate=6260632086904832 > > This intent message was generated by Chrome Platform Status > <https://chromestatus.com/>. > -- 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+unsubscr...@chromium.org. To view this discussion visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/39f5811d-a696-4fa0-8caa-720c18880799n%40chromium.org.