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, |