Tests in payment-request which depend on having a supported payment method tend to use basic-card and https://apple.com/apple-pay. basic-card is problematic because all browsers dropped support for it years ago. Safari supports only Apple Pay so needs to rely on that method, but this causes network fetches and flakiness in Chrome (proposed fix in #61067).
Since Chromium browsers have no pre-installed payment methods, I think the solution is to replace basic-card with a JIT-installed payment handler (which will be silently ignored by Safari). @stephenmcgruer @marcoscaceres sound OK?
Experimenting with this a bit it seem like it might have some issues in Chrome because many of the tests expect to be able to abort a payment, which once we've loaded a payment handler we can't necessarily do in chrome (for privacy reasons I believe). The right fix is probably WebDriver automation for PaymentRequest (#15349), but that's a bigger lift. It looks like we can probably make it work by having the tests supporting two payment methods and relying on browser payment method selector UI playing the same role as Safari's ApplePay sheet (browser UI which can be aborted by the tests). It's a bit hacky, but would get the tests passing again. @stephenmcgruer WDYT?
Tests in payment-request which depend on having a supported payment method tend to use
basic-cardandhttps://apple.com/apple-pay.basic-cardis problematic because all browsers dropped support for it years ago. Safari supports only Apple Pay so needs to rely on that method, but this causes network fetches and flakiness in Chrome (proposed fix in #61067).Since Chromium browsers have no pre-installed payment methods, I think the solution is to replace
basic-cardwith a JIT-installed payment handler (which will be silently ignored by Safari). @stephenmcgruer @marcoscaceres sound OK?Experimenting with this a bit it seem like it might have some issues in Chrome because many of the tests expect to be able to abort a payment, which once we've loaded a payment handler we can't necessarily do in chrome (for privacy reasons I believe). The right fix is probably WebDriver automation for PaymentRequest (#15349), but that's a bigger lift. It looks like we can probably make it work by having the tests supporting two payment methods and relying on browser payment method selector UI playing the same role as Safari's ApplePay sheet (browser UI which can be aborted by the tests). It's a bit hacky, but would get the tests passing again. @stephenmcgruer WDYT?