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 f0f2e261630836239ad7c693f876132ba5dbdc6a..7a070b253b4cb5bfd08526e5010fd412e0bb4ea3 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 |
@@ -22,6 +22,7 @@ import org.chromium.chrome.browser.ChromeFeatureList; |
import org.chromium.chrome.browser.autofill.PersonalDataManager; |
import org.chromium.chrome.browser.autofill.PersonalDataManager.AutofillProfile; |
import org.chromium.chrome.browser.favicon.FaviconHelper; |
+import org.chromium.chrome.browser.pageinfo.CertificateChainHelper; |
import org.chromium.chrome.browser.payments.ui.Completable; |
import org.chromium.chrome.browser.payments.ui.ContactDetailsSection; |
import org.chromium.chrome.browser.payments.ui.LineItem; |
@@ -213,6 +214,7 @@ public class PaymentRequestImpl |
private final WebContents mWebContents; |
private final String mMerchantName; |
private final String mOrigin; |
+ private final byte[][] mCertificateChain; |
private final AddressEditor mAddressEditor; |
private final CardEditor mCardEditor; |
private final PaymentRequestJourneyLogger mJourneyLogger = new PaymentRequestJourneyLogger(); |
@@ -298,6 +300,7 @@ public class PaymentRequestImpl |
// The feature is available only in secure context, so it's OK to not show HTTPS. |
mOrigin = UrlFormatter.formatUrlForSecurityDisplay( |
webContents.getLastCommittedUrl(), false); |
+ mCertificateChain = CertificateChainHelper.getCertificateChain(mWebContents); |
final FaviconHelper faviconHelper = new FaviconHelper(); |
faviconHelper.getLocalFaviconImageForURL(Profile.getLastUsedProfile(), |
@@ -537,7 +540,7 @@ public class PaymentRequestImpl |
// so a fast response from a non-autofill payment app at the front of the app list does not |
// cause NOT_SUPPORTED payment rejection. |
for (Map.Entry<PaymentApp, Map<String, PaymentMethodData>> q : queryApps.entrySet()) { |
- q.getKey().getInstruments(q.getValue(), mOrigin, this); |
+ q.getKey().getInstruments(q.getValue(), mOrigin, mCertificateChain, this); |
} |
} |
@@ -1050,8 +1053,9 @@ public class PaymentRequestImpl |
} |
} |
- instrument.invokePaymentApp(mMerchantName, mOrigin, Collections.unmodifiableMap(methodData), |
- mRawTotal, mRawLineItems, Collections.unmodifiableMap(modifiers), this); |
+ instrument.invokePaymentApp(mMerchantName, mOrigin, mCertificateChain, |
+ Collections.unmodifiableMap(methodData), mRawTotal, mRawLineItems, |
+ Collections.unmodifiableMap(modifiers), this); |
recordSuccessFunnelHistograms("PayClicked"); |
return !(instrument instanceof AutofillPaymentInstrument); |