Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1877)

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/payments/PaymentRequestImpl.java

Issue 2894153003: [Payments] Only send schemeless origin to Android native payment apps (Closed)
Patch Set: remove unnecessary 'final' Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/android/java/src/org/chromium/chrome/browser/payments/AndroidPaymentApp.java ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 f301d6054800e4a06becf7031efe7639525bbaf3..b602ad790140dcb411422e99c56e50a6009995c0 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
@@ -257,9 +257,8 @@ public class PaymentRequestImpl implements PaymentRequest, PaymentRequestUI.Clie
private final Handler mHandler = new Handler();
private final RenderFrameHost mRenderFrameHost;
private final WebContents mWebContents;
- private final String mSchemelessOriginForPaymentApp;
- private final String mOriginForDisplay;
- private final String mSchemelessIFrameOriginForPaymentApp;
+ private final String mTopLevelOrigin;
+ private final String mPaymentRequestOrigin;
private final String mMerchantName;
@Nullable
private final byte[][] mCertificateChain;
@@ -364,15 +363,12 @@ public class PaymentRequestImpl implements PaymentRequest, PaymentRequestUI.Clie
assert renderFrameHost != null;
mRenderFrameHost = renderFrameHost;
- mSchemelessIFrameOriginForPaymentApp = UrlFormatter.formatUrlForSecurityDisplay(
- mRenderFrameHost.getLastCommittedURL(), false /* omit scheme for payment apps. */);
mWebContents = WebContentsStatics.fromRenderFrameHost(renderFrameHost);
- mSchemelessOriginForPaymentApp = UrlFormatter.formatUrlForSecurityDisplay(
- mWebContents.getLastCommittedUrl(), false /* omit scheme for payment apps. */);
-
- mOriginForDisplay = UrlFormatter.formatUrlForSecurityDisplay(
- mWebContents.getLastCommittedUrl(), true /* include scheme in display */);
+ mPaymentRequestOrigin = UrlFormatter.formatUrlForSecurityDisplay(
+ mRenderFrameHost.getLastCommittedURL(), true);
+ mTopLevelOrigin =
+ UrlFormatter.formatUrlForSecurityDisplay(mWebContents.getLastCommittedUrl(), true);
mMerchantName = mWebContents.getTitle();
@@ -523,7 +519,7 @@ public class PaymentRequestImpl implements PaymentRequest, PaymentRequestUI.Clie
mUI = new PaymentRequestUI(activity, this, mRequestShipping,
mRequestPayerName || mRequestPayerPhone || mRequestPayerEmail,
mMerchantSupportsAutofillPaymentInstruments,
- !PaymentPreferencesUtil.isPaymentCompleteOnce(), mMerchantName, mOriginForDisplay,
+ !PaymentPreferencesUtil.isPaymentCompleteOnce(), mMerchantName, mTopLevelOrigin,
SecurityStateModel.getSecurityLevelForWebContents(mWebContents),
new ShippingStrings(mShippingType));
@@ -720,8 +716,7 @@ public class PaymentRequestImpl implements PaymentRequest, PaymentRequestUI.Clie
}
if (queryApps.isEmpty()) {
- CanMakePaymentQuery query =
- sCanMakePaymentQueries.get(mSchemelessIFrameOriginForPaymentApp);
+ CanMakePaymentQuery query = sCanMakePaymentQueries.get(mPaymentRequestOrigin);
if (query != null && query.matchesPaymentMethods(mMethodData)) {
query.notifyObserversOfResponse(mCanMakePayment);
}
@@ -733,8 +728,8 @@ public class PaymentRequestImpl implements PaymentRequest, PaymentRequestUI.Clie
// 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(), mSchemelessOriginForPaymentApp,
- mSchemelessIFrameOriginForPaymentApp, mCertificateChain, mRawTotal, this);
+ q.getKey().getInstruments(q.getValue(), mTopLevelOrigin, mPaymentRequestOrigin,
+ mCertificateChain, mRawTotal, this);
}
}
@@ -1305,10 +1300,9 @@ public class PaymentRequestImpl implements PaymentRequest, PaymentRequestUI.Clie
}
}
- instrument.invokePaymentApp(mId, mMerchantName, mSchemelessOriginForPaymentApp,
- mSchemelessIFrameOriginForPaymentApp, mCertificateChain,
- Collections.unmodifiableMap(methodData), mRawTotal, mRawLineItems,
- Collections.unmodifiableMap(modifiers), this);
+ instrument.invokePaymentApp(mId, mMerchantName, mTopLevelOrigin, mPaymentRequestOrigin,
+ mCertificateChain, Collections.unmodifiableMap(methodData), mRawTotal,
+ mRawLineItems, Collections.unmodifiableMap(modifiers), this);
recordSuccessFunnelHistograms("PayClicked");
mJourneyLogger.setEventOccurred(JourneyLogger.EVENT_PAY_CLICKED);
@@ -1395,19 +1389,18 @@ public class PaymentRequestImpl implements PaymentRequest, PaymentRequestUI.Clie
public void canMakePayment() {
if (mClient == null) return;
- CanMakePaymentQuery query =
- sCanMakePaymentQueries.get(mSchemelessIFrameOriginForPaymentApp);
+ CanMakePaymentQuery query = sCanMakePaymentQueries.get(mPaymentRequestOrigin);
if (query == null) {
// If there has not been a canMakePayment() query in the last 30 minutes, take a note
// that one has happened just now. Remember the payment method names and the
// corresponding data for the next 30 minutes. Forget about it after the 30 minute
// period expires.
query = new CanMakePaymentQuery(Collections.unmodifiableMap(mMethodData));
- sCanMakePaymentQueries.put(mSchemelessIFrameOriginForPaymentApp, query);
+ sCanMakePaymentQueries.put(mPaymentRequestOrigin, query);
mHandler.postDelayed(new Runnable() {
@Override
public void run() {
- sCanMakePaymentQueries.remove(mSchemelessIFrameOriginForPaymentApp);
+ sCanMakePaymentQueries.remove(mPaymentRequestOrigin);
}
}, CAN_MAKE_PAYMENT_QUERY_PERIOD_MS);
} else if (shouldEnforceCanMakePaymentQueryQuota()
@@ -1431,8 +1424,7 @@ public class PaymentRequestImpl implements PaymentRequest, PaymentRequestUI.Clie
boolean isIgnoringQueryQuota = false;
if (!shouldEnforceCanMakePaymentQueryQuota()) {
- CanMakePaymentQuery query =
- sCanMakePaymentQueries.get(mSchemelessIFrameOriginForPaymentApp);
+ CanMakePaymentQuery query = sCanMakePaymentQueries.get(mPaymentRequestOrigin);
// The cached query may have expired between instantiation of PaymentRequest and
// finishing the query of the payment apps.
if (query != null) {
@@ -1576,8 +1568,7 @@ public class PaymentRequestImpl implements PaymentRequest, PaymentRequestUI.Clie
}
}
- CanMakePaymentQuery query =
- sCanMakePaymentQueries.get(mSchemelessIFrameOriginForPaymentApp);
+ CanMakePaymentQuery query = sCanMakePaymentQueries.get(mPaymentRequestOrigin);
if (query != null && query.matchesPaymentMethods(mMethodData)) {
query.notifyObserversOfResponse(mCanMakePayment);
}
« no previous file with comments | « chrome/android/java/src/org/chromium/chrome/browser/payments/AndroidPaymentApp.java ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698