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

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

Issue 2645813006: Download web payment manifests. (Closed)
Patch Set: Address more comments Created 3 years, 10 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
Index: chrome/android/java/src/org/chromium/chrome/browser/payments/PaymentAppFactory.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/payments/PaymentAppFactory.java b/chrome/android/java/src/org/chromium/chrome/browser/payments/PaymentAppFactory.java
index 25fd9c119d9a6c7494e57d7ddf5aa7b6c3d51572..b2fe51dc66251d1380c900fe21312fcb80a4fae1 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/payments/PaymentAppFactory.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/payments/PaymentAppFactory.java
@@ -7,6 +7,7 @@ package org.chromium.chrome.browser.payments;
import org.chromium.base.VisibleForTesting;
import org.chromium.chrome.browser.ChromeFeatureList;
import org.chromium.content_public.browser.WebContents;
+import org.chromium.payments.mojom.PaymentRequestClient.ParsePaymentManifestResponse;
import java.util.ArrayList;
import java.util.HashSet;
@@ -25,9 +26,7 @@ public class PaymentAppFactory {
*/
private final List<PaymentAppFactoryAddition> mAdditionalFactories;
- /**
- * Interface for receiving newly created apps.
- */
+ /** Interface for receiving newly created apps. */
public interface PaymentAppCreatedCallback {
/**
* Called when the factory has create a payment app. This method may be called
@@ -35,25 +34,33 @@ public class PaymentAppFactory {
*/
void onPaymentAppCreated(PaymentApp paymentApp);
+ /** Called when the factory is finished creating payment apps. */
+ void onAllPaymentAppsCreated();
+ }
+
+ /** Interface for parsing payment manifest. */
+ public interface PaymentManifestParser {
/**
- * Called when the factory is finished creating payment apps.
+ * Parses the payment manifest.
+ *
+ * @param content The content to parse.
+ * @param callback The callback to invoke with parsed data, or null on failure.
*/
- void onAllPaymentAppsCreated();
+ void parsePaymentManifest(String content, ParsePaymentManifestResponse callback);
}
- /**
- * The interface for additional payment app factories.
- */
+ /** The interface for additional payment app factories. */
public interface PaymentAppFactoryAddition {
/**
* Builds instances of payment apps.
*
* @param webContents The web contents that invoked PaymentRequest.
* @param methods The methods that the merchant supports.
+ * @param parser The payment manifest parser.
* @param callback The callback to invoke when apps are created.
*/
- void create(
- WebContents webContents, Set<String> methods, PaymentAppCreatedCallback callback);
+ void create(WebContents webContents, Set<String> methods, PaymentManifestParser parser,
+ PaymentAppCreatedCallback callback);
}
private PaymentAppFactory() {
@@ -91,9 +98,10 @@ public class PaymentAppFactory {
*
* @param webContents The web contents where PaymentRequest was invoked.
* @param methods The methods that the merchant supports.
+ * @param parser The payment manifest parser.
* @param callback The callback to invoke when apps are created.
*/
- public void create(WebContents webContents, Set<String> methods,
+ public void create(WebContents webContents, Set<String> methods, PaymentManifestParser parser,
final PaymentAppCreatedCallback callback) {
callback.onPaymentAppCreated(new AutofillPaymentApp(webContents));
@@ -119,7 +127,7 @@ public class PaymentAppFactory {
if (mPendingTasks.isEmpty()) callback.onAllPaymentAppsCreated();
}
};
- additionalFactory.create(webContents, methods, cb);
+ additionalFactory.create(webContents, methods, parser, cb);
}
}
}

Powered by Google App Engine
This is Rietveld 408576698