| Index: chrome/android/java/src/org/chromium/chrome/browser/autofill/PersonalDataManager.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/autofill/PersonalDataManager.java b/chrome/android/java/src/org/chromium/chrome/browser/autofill/PersonalDataManager.java
|
| index e603ddaf31d76ff42e0dfbc6198546a1dca660c5..9ac04d7778bbbdc7eebd9ed0e0b1cab7ca5a6684 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/autofill/PersonalDataManager.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/autofill/PersonalDataManager.java
|
| @@ -12,6 +12,7 @@ import org.chromium.base.annotations.CalledByNative;
|
| import org.chromium.base.annotations.JNINamespace;
|
| import org.chromium.chrome.R;
|
| import org.chromium.chrome.browser.ResourceId;
|
| +import org.chromium.content_public.browser.WebContents;
|
|
|
| import java.util.ArrayList;
|
| import java.util.List;
|
| @@ -35,7 +36,27 @@ public class PersonalDataManager {
|
| /**
|
| * Called when the data is changed.
|
| */
|
| - public abstract void onPersonalDataChanged();
|
| + void onPersonalDataChanged();
|
| + }
|
| +
|
| + /**
|
| + * Callback for full card request.
|
| + */
|
| + public interface FullCardRequestDelegate {
|
| + /**
|
| + * Called when user provided the full card details, including the CVC and the full PAN.
|
| + *
|
| + * @param card The full card.
|
| + * @param cvc The CVC for the card.
|
| + */
|
| + @CalledByNative("FullCardRequestDelegate")
|
| + void onFullCardDetails(CreditCard card, String cvc);
|
| +
|
| + /**
|
| + * Called when user did not provide full card details.
|
| + */
|
| + @CalledByNative("FullCardRequestDelegate")
|
| + void onFullCardError();
|
| }
|
|
|
| /**
|
| @@ -512,6 +533,11 @@ public class PersonalDataManager {
|
| nativeClearUnmaskedCache(mPersonalDataManagerAndroid, guid);
|
| }
|
|
|
| + public void unmaskCard(WebContents webContents, String guid, FullCardRequestDelegate delegate) {
|
| + nativeGetFullCardForPaymentRequest(
|
| + mPersonalDataManagerAndroid, webContents, guid, delegate);
|
| + }
|
| +
|
| /**
|
| * @return Whether the Autofill feature is enabled.
|
| */
|
| @@ -568,6 +594,8 @@ public class PersonalDataManager {
|
| private native void nativeRemoveByGUID(long nativePersonalDataManagerAndroid, String guid);
|
| private native void nativeClearUnmaskedCache(
|
| long nativePersonalDataManagerAndroid, String guid);
|
| + private native void nativeGetFullCardForPaymentRequest(long nativePersonalDataManagerAndroid,
|
| + WebContents webContents, String guid, FullCardRequestDelegate delegate);
|
| private static native boolean nativeIsAutofillEnabled();
|
| private static native void nativeSetAutofillEnabled(boolean enable);
|
| private static native boolean nativeIsAutofillManaged();
|
|
|