| Index: chrome/android/java/src/org/chromium/chrome/browser/payments/PaymentRequestImpl.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/payments/PaymentRequestImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/payments/PaymentRequestImpl.java
|
| index 44bc75d4b1ef2bfa34541677372ae808c686100a..91306539fe4896bcdcb8ce28b1dc0f133791379f 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/payments/PaymentRequestImpl.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/payments/PaymentRequestImpl.java
|
| @@ -394,6 +394,19 @@ public class PaymentRequestImpl implements PaymentRequest, PaymentRequestUI.Clie
|
| public void show() {
|
| if (mClient == null || mIsShowing) return;
|
|
|
| +
|
| + if (NoCardAbortFieldTrial.isEnabled()
|
| + && PersonalDataManager.getInstance().getCreditCardsToSuggest().size() == 0) {
|
| + // Cancel the payment request if the user has no credit card.
|
| + disconnectFromClientWithDebugMessage(
|
| + "User has no credit card", PaymentErrorReason.NOT_SUPPORTED);
|
| + recordAbortReasonHistogram(
|
| + PaymentRequestMetrics.ABORT_REASON_NO_MATCHING_PAYMENT_METHOD);
|
| + if (sObserverForTest != null) sObserverForTest.onPaymentRequestServiceShowFailed();
|
| +
|
| + return;
|
| + }
|
| +
|
| mIsShowing = true;
|
| if (disconnectIfNoPaymentMethodsSupported()) return;
|
|
|
|
|