| Index: chrome/android/java/src/org/chromium/chrome/browser/payments/ServiceWorkerPaymentAppBridge.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/payments/ServiceWorkerPaymentAppBridge.java b/chrome/android/java/src/org/chromium/chrome/browser/payments/ServiceWorkerPaymentAppBridge.java
|
| index 72dbc39e940e23d1f44b4f3042afa6b1981a7bff..2847444ee3a399eea9d313aa7a72d53d3e47bc5d 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/payments/ServiceWorkerPaymentAppBridge.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/payments/ServiceWorkerPaymentAppBridge.java
|
| @@ -10,6 +10,8 @@ import android.graphics.drawable.Drawable;
|
| import org.chromium.base.annotations.CalledByNative;
|
| import org.chromium.base.annotations.SuppressFBWarnings;
|
| import org.chromium.content_public.browser.WebContents;
|
| +import org.chromium.payments.mojom.PaymentDetailsModifier;
|
| +import org.chromium.payments.mojom.PaymentItem;
|
| import org.chromium.payments.mojom.PaymentMethodData;
|
|
|
| import java.util.ArrayList;
|
| @@ -67,13 +69,17 @@ public class ServiceWorkerPaymentAppBridge implements PaymentAppFactory.PaymentA
|
| * @param webContents The web contents that invoked PaymentRequest.
|
| * @param registrationId The service worker registration ID of the Payment App.
|
| * @param optionId The ID of the PaymentOption that was selected by the user.
|
| - * @param methodDataSet The PaymentMethodData objects that are relevant for this payment
|
| - * app.
|
| + * @param methodData The PaymentMethodData objects that are relevant for this payment
|
| + * app.
|
| + * @param total The PaymentItem that represents the total cost of the payment.
|
| + * @param modifiers Payment method specific modifiers to the payment items and the total.
|
| */
|
| public static void invokePaymentApp(WebContents webContents, long registrationId,
|
| - String optionId, Set<PaymentMethodData> methodDataSet) {
|
| - nativeInvokePaymentApp(webContents, registrationId, optionId,
|
| - methodDataSet.toArray(new PaymentMethodData[methodDataSet.size()]));
|
| + String optionId, String origin, Set<PaymentMethodData> methodData, PaymentItem total,
|
| + List<PaymentItem> displayItems, Set<PaymentDetailsModifier> modifiers) {
|
| + nativeInvokePaymentApp(webContents, registrationId, optionId, origin,
|
| + methodData.toArray(new PaymentMethodData[0]), total,
|
| + modifiers.toArray(new PaymentDetailsModifier[0]));
|
| }
|
|
|
| @CalledByNative
|
| @@ -104,6 +110,41 @@ public class ServiceWorkerPaymentAppBridge implements PaymentAppFactory.PaymentA
|
| }
|
|
|
| @CalledByNative
|
| + private static String[] getSupportedMethodsFromMethodData(PaymentMethodData data) {
|
| + return data.supportedMethods;
|
| + }
|
| +
|
| + @CalledByNative
|
| + private static String getStringifiedDataFromMethodData(PaymentMethodData data) {
|
| + return data.stringifiedData;
|
| + }
|
| +
|
| + @CalledByNative
|
| + private static PaymentMethodData getMethodDataFromModifier(PaymentDetailsModifier modifier) {
|
| + return modifier.methodData;
|
| + }
|
| +
|
| + @CalledByNative
|
| + private static PaymentItem getTotalFromModifier(PaymentDetailsModifier modifier) {
|
| + return modifier.total;
|
| + }
|
| +
|
| + @CalledByNative
|
| + private static String getLabelFromPaymentItem(PaymentItem item) {
|
| + return item.label;
|
| + }
|
| +
|
| + @CalledByNative
|
| + private static String getCurrencyFromPaymentItem(PaymentItem item) {
|
| + return item.amount.currency;
|
| + }
|
| +
|
| + @CalledByNative
|
| + private static String getValueFromPaymentItem(PaymentItem item) {
|
| + return item.amount.value;
|
| + }
|
| +
|
| + @CalledByNative
|
| private static void onGotManifest(Manifest manifest, WebContents webContents, Object callback) {
|
| assert callback instanceof PaymentAppFactory.PaymentAppCreatedCallback;
|
| ((PaymentAppFactory.PaymentAppCreatedCallback) callback)
|
| @@ -124,5 +165,6 @@ public class ServiceWorkerPaymentAppBridge implements PaymentAppFactory.PaymentA
|
| private static native void nativeGetAllAppManifests(WebContents webContents, Object callback);
|
|
|
| private static native void nativeInvokePaymentApp(WebContents webContents, long registrationId,
|
| - String optionId, PaymentMethodData[] methodData);
|
| + String optionId, String origin, PaymentMethodData[] methodData, PaymentItem total,
|
| + PaymentDetailsModifier[] modifiers);
|
| }
|
|
|