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(); |