| Index: chrome/android/java/src/org/chromium/chrome/browser/payments/AndroidPaymentApp.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/payments/AndroidPaymentApp.java b/chrome/android/java/src/org/chromium/chrome/browser/payments/AndroidPaymentApp.java
|
| index efaf9f0b4fe6c32aa96d0cfb9d90073f5dbc2bc8..864760ea89049ac282d019d0e0e771b0805dbd1c 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/payments/AndroidPaymentApp.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/payments/AndroidPaymentApp.java
|
| @@ -27,6 +27,7 @@ import org.chromium.base.ContextUtils;
|
| import org.chromium.base.ThreadUtils;
|
| import org.chromium.chrome.R;
|
| import org.chromium.chrome.browser.ChromeActivity;
|
| +import org.chromium.components.url_formatter.UrlFormatter;
|
| import org.chromium.content_public.browser.WebContents;
|
| import org.chromium.payments.mojom.PaymentCurrencyAmount;
|
| import org.chromium.payments.mojom.PaymentDetailsModifier;
|
| @@ -166,9 +167,9 @@ public class AndroidPaymentApp
|
| public void onServiceDisconnected(ComponentName name) {}
|
| };
|
|
|
| - mIsReadyToPayIntent.putExtras(buildExtras(null /* id */, null /* merchantName */, origin,
|
| - iframeOrigin, certificateChain, methodDataMap, total, null /* displayItems */,
|
| - null /* modifiers */));
|
| + mIsReadyToPayIntent.putExtras(buildExtras(null /* id */, null /* merchantName */,
|
| + removeUrlScheme(origin), removeUrlScheme(iframeOrigin), certificateChain,
|
| + methodDataMap, total, null /* displayItems */, null /* modifiers */));
|
| try {
|
| if (!ContextUtils.getApplicationContext().bindService(
|
| mIsReadyToPayIntent, mServiceConnection, Context.BIND_AUTO_CREATE)) {
|
| @@ -264,17 +265,19 @@ public class AndroidPaymentApp
|
| }
|
|
|
| @Override
|
| - public void invokePaymentApp(final String id, final String merchantName, final String origin,
|
| - final String iframeOrigin, final byte[][] certificateChain,
|
| + public void invokePaymentApp(final String id, final String merchantName, String origin,
|
| + String iframeOrigin, final byte[][] certificateChain,
|
| final Map<String, PaymentMethodData> methodDataMap, final PaymentItem total,
|
| final List<PaymentItem> displayItems,
|
| final Map<String, PaymentDetailsModifier> modifiers,
|
| InstrumentDetailsCallback callback) {
|
| mInstrumentDetailsCallback = callback;
|
|
|
| + final String schemelessOrigin = removeUrlScheme(origin);
|
| + final String schemelessIframeOrigin = removeUrlScheme(iframeOrigin);
|
| if (!mIsIncognito) {
|
| - launchPaymentApp(id, merchantName, origin, iframeOrigin, certificateChain,
|
| - methodDataMap, total, displayItems, modifiers);
|
| + launchPaymentApp(id, merchantName, schemelessOrigin, schemelessIframeOrigin,
|
| + certificateChain, methodDataMap, total, displayItems, modifiers);
|
| return;
|
| }
|
|
|
| @@ -291,9 +294,9 @@ public class AndroidPaymentApp
|
| new OnClickListener() {
|
| @Override
|
| public void onClick(DialogInterface dialog, int which) {
|
| - launchPaymentApp(id, merchantName, origin, iframeOrigin,
|
| - certificateChain, methodDataMap, total, displayItems,
|
| - modifiers);
|
| + launchPaymentApp(id, merchantName, schemelessOrigin,
|
| + schemelessIframeOrigin, certificateChain, methodDataMap,
|
| + total, displayItems, modifiers);
|
| }
|
| })
|
| .setNegativeButton(R.string.cancel,
|
| @@ -312,6 +315,10 @@ public class AndroidPaymentApp
|
| .show();
|
| }
|
|
|
| + private static String removeUrlScheme(String url) {
|
| + return UrlFormatter.formatUrlForSecurityDisplay(url, false /* omit scheme */);
|
| + }
|
| +
|
| private void launchPaymentApp(String id, String merchantName, String origin,
|
| String iframeOrigin, byte[][] certificateChain,
|
| Map<String, PaymentMethodData> methodDataMap, PaymentItem total,
|
|
|