LGTM2 On Tuesday, April 15, 2025 at 9:26:02 PM UTC-4 Domenic Denicola wrote:
> LGTM1 > > On Wed, Apr 16, 2025 at 12:47 AM Stephen Mcgruer <smcgr...@chromium.org> > wrote: > >> Contact emailssmcgr...@chromium.org >> >> Explainerhttps://github.com/w3c/secure-payment-confirmation/issues/267 >> >> Specificationhttps://github.com/w3c/secure-payment-confirmation/pull/281 >> >> 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> >> >> TAG reviewN/A - this is a compat bugfix to the SPC spec and does not >> require its own review. >> >> TAG review statusN/A >> >> Risks >> >> Interoperability and Compatibility >> >> There is a *very* minor risk of web compat breakage here. If code is very >> specifically handling the error type thrown for the very specific outcome >> of no user activation on creating a creation in a cross-origin iframe with >> the payment extension, they may stop handling that correctly. That is, if >> one was doing a specific `e instanceof SecurityError`, it will no longer >> catch the above case. Given that code should still be handling the overall >> fact that *some* error was thrown, and that creating credentials in >> cross-origin iframes is incredibly rare today - nevermind specifically with >> the 'payment' extension and not having a user activation - the risk seems >> low enough for this to be safe. >> https://chromestatus.com/metrics/feature/timeline/popularity/4758 >> measures creating credentials in a cross-origin iframe. Currently at >> 0.000005% of page loads. >> >> *Gecko*: N/A Firefox does not ship SPC ( >> https://github.com/mozilla/standards-positions/issues/570) and thus does >> not support the "payment" extension, so never had this compat issue. >> >> *WebKit*: N/A Safari does not ship SPC ( >> https://github.com/WebKit/standards-positions/issues/30) and thus does >> not support the "payment" extension, so never had this compat issue. >> >> *Web developers*: Payment industry partners that are experimenting with >> SPC have been informed, and none have raised any concerns. >> >> *Other 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 >> >> N/A - standard devtools tools suffice. >> >> Will this feature be supported on all six Blink platforms (Windows, Mac, >> Linux, ChromeOS, Android, and Android WebView)?No - SPC/the payment >> extension is not shipped on Android WebView. >> >> Is this feature fully tested by web-platform-tests >> <https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md> >> ?Yes >> >> >> https://wpt.fyi/results/secure-payment-confirmation/enrollment-in-iframe.sub.https.html?label=experimental&label=master&aligned >> >> Test: "SPC enrollment in cross-origin iframe fails without user activation" >> >> Flag name on about://flagsNone >> >> Finch feature name >> WebAuthenticationAlignErrorTypeForPaymentCredentialCreate >> >> Non-finch justification >> >> Note: Not planning a Finch rollout, but have a base::Feature flag for >> emergency kill-switch via Finch if needed. >> >> Rollout planWill ship enabled for all users >> >> Requires code in //chrome?False >> >> Tracking bughttps://issues.chromium.org/u/1/issues/41484826 >> >> Estimated milestones >> Shipping on desktop 137 >> DevTrial on desktop 135 >> Shipping on Android 137 >> DevTrial on Android 135 >> 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). >> None >> >> Link to entry on the Chrome Platform Status >> https://chromestatus.com/feature/5160752715137024?gate=5120826699153408 >> >> Links to previous Intent discussionsIntent to Prototype: >> https://groups.google.com/u/1/a/chromium.org/g/blink-dev/c/X0c08UCiUGc >> >> >> 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/CADY3MaeGOOp6eZ9Dm%3DiUm-_XCiTh0URDfRStOh9TgeuX_Yy4SA%40mail.gmail.com >> >> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CADY3MaeGOOp6eZ9Dm%3DiUm-_XCiTh0URDfRStOh9TgeuX_Yy4SA%40mail.gmail.com?utm_medium=email&utm_source=footer> >> . >> > -- 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/f7219085-7242-4387-a50f-e096ebd5392en%40chromium.org.