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

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

Issue 2586213002: PaymentApp: Implement nativeGetAllAppManifests (Closed)
Patch Set: Rebase Created 4 years 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
Index: chrome/android/java/src/org/chromium/chrome/browser/payments/ServiceWorkerPaymentInstrument.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/payments/ServiceWorkerPaymentInstrument.java b/chrome/android/java/src/org/chromium/chrome/browser/payments/ServiceWorkerPaymentInstrument.java
index 5dd4af9d628f8f002828a8af2e7ac425ec17242e..f0f976188e4d5d6863c9f543b1e793b9476a3300 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/payments/ServiceWorkerPaymentInstrument.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/payments/ServiceWorkerPaymentInstrument.java
@@ -4,6 +4,7 @@
package org.chromium.chrome.browser.payments;
+import org.chromium.content_public.browser.WebContents;
import org.chromium.payments.mojom.PaymentItem;
import org.chromium.payments.mojom.PaymentMethodData;
@@ -22,6 +23,8 @@ import java.util.Set;
* @see https://w3c.github.io/webpayments-payment-apps-api/
*/
public class ServiceWorkerPaymentInstrument extends PaymentInstrument {
+ private final WebContents mWebContents;
+ private final long mAppRegistrationId;
private final ServiceWorkerPaymentAppBridge.Option mOption;
private final Set<String> mMethodNames;
@@ -31,12 +34,16 @@ public class ServiceWorkerPaymentInstrument extends PaymentInstrument {
*
* @see https://w3c.github.io/webpayments-payment-apps-api/#payment-app-options
*
- * @param scopeUrl The scope url of the corresponding service worker payment app.
- * @param option A payment app option from the payment app.
+ * @param webContents The web contents where PaymentRequest was invoked.
+ * @param appRegistrationId The registration id of the corresponding service worker payment app.
+ * @param option A payment app option from the payment app.
*/
- public ServiceWorkerPaymentInstrument(String scopeUrl,
+ public ServiceWorkerPaymentInstrument(WebContents webContents, long appRegistrationId,
ServiceWorkerPaymentAppBridge.Option option) {
- super(scopeUrl + "#" + option.id, option.label, null /* icon */, option.icon);
+ super(Long.toString(appRegistrationId) + "#" + option.id, option.label, null /* icon */,
+ option.icon);
+ mWebContents = webContents;
+ mAppRegistrationId = appRegistrationId;
mOption = option;
mMethodNames = new HashSet<String>(option.enabledMethods);
@@ -51,8 +58,8 @@ public class ServiceWorkerPaymentInstrument extends PaymentInstrument {
public void invokePaymentApp(String merchantName, String origin, PaymentItem total,
List<PaymentItem> cart, Map<String, PaymentMethodData> methodData,
InstrumentDetailsCallback callback) {
- // TODO(tommyt): crbug.com/669876. Implement this for use with Service Worker Payment Apps.
- callback.onInstrumentDetailsError();
+ ServiceWorkerPaymentAppBridge.invokePaymentApp(
+ mWebContents, mAppRegistrationId, mOption.id, new HashSet<>(methodData.values()));
}
@Override

Powered by Google App Engine
This is Rietveld 408576698