Index: chrome/browser/autofill/android/personal_data_manager_android.h |
diff --git a/chrome/browser/autofill/android/personal_data_manager_android.h b/chrome/browser/autofill/android/personal_data_manager_android.h |
index c2ae27a0b8b8ba1688b29791c0d097b3931ba0df..01dde27c035724b71f2a77f20e9056a8914625bb 100644 |
--- a/chrome/browser/autofill/android/personal_data_manager_android.h |
+++ b/chrome/browser/autofill/android/personal_data_manager_android.h |
@@ -96,6 +96,15 @@ class PersonalDataManagerAndroid : public PersonalDataManagerObserver { |
const base::android::JavaParamRef<jobject>& unused_obj, |
const base::android::JavaParamRef<jstring>& jguid); |
+ // Returns a credit card with the specified |jcard_number|. This is used for |
+ // determining the card's obfuscated number, issuer icon, and type in one go. |
+ // This function does not interact with the autofill table on disk, so can be |
+ // used for cards that are not saved. |
+ base::android::ScopedJavaLocalRef<jobject> GetCreditCardForNumber( |
+ JNIEnv* env, |
+ const base::android::JavaParamRef<jobject>& unused_obj, |
+ const base::android::JavaParamRef<jstring>& jcard_number); |
+ |
// Adds or modifies a local credit card. If |jguid| is an empty string, we |
// are creating a new card. Else we are updating an existing profile. Always |
// returns the GUID for this profile; the GUID it may have just been created. |
@@ -105,11 +114,19 @@ class PersonalDataManagerAndroid : public PersonalDataManagerObserver { |
const base::android::JavaParamRef<jobject>& jcard); |
// Updates the billing address of a server credit card with GUID |jguid|. |
- void UpdateServerCardBillingAddress(JNIEnv* env, |
+ void UpdateServerCardBillingAddress( |
+ JNIEnv* env, |
const base::android::JavaParamRef<jobject>& unused_obj, |
const base::android::JavaParamRef<jstring>& jguid, |
const base::android::JavaParamRef<jstring>& jbilling_address_id); |
+ // Returns the card type according to PaymentRequest spec, or an empty string |
+ // if the given card number is not valid. |
+ base::android::ScopedJavaLocalRef<jstring> GetBasicCardPaymentTypeIfValid( |
+ JNIEnv* env, |
+ const base::android::JavaParamRef<jobject>& unused_obj, |
+ const base::android::JavaParamRef<jstring>& jcard_number); |
+ |
// Adds a server credit card. Used only in tests. |
void AddServerCreditCardForTest( |
JNIEnv* env, |
@@ -127,7 +144,11 @@ class PersonalDataManagerAndroid : public PersonalDataManagerObserver { |
const base::android::JavaParamRef<jobject>& unused_obj, |
const base::android::JavaParamRef<jstring>& jguid); |
- // Gets the card CVC and unmasks the card (if it's masked). |
+ // Gets the card CVC and expiration date (if it's expired). If the card is |
+ // masked, unmasks it. If the user has entered new expiration date, the new |
+ // date is saved on disk. |
+ // |
+ // The full card details are sent to the delegate. |
void GetFullCardForPaymentRequest( |
JNIEnv* env, |
const base::android::JavaParamRef<jobject>& unused_obj, |
@@ -135,6 +156,23 @@ class PersonalDataManagerAndroid : public PersonalDataManagerObserver { |
const base::android::JavaParamRef<jstring>& jguid, |
const base::android::JavaParamRef<jobject>& jdelegate); |
+ // Gets the card CVC and expiration date (if it's expired) for a card that's |
+ // temporary and not stored on disk. No unmasking is performed. If the user |
+ // has entered new expiration date, the new date is not saved on disk, because |
+ // this card is temporary. |
+ // |
+ // The card number, name on card, and expiration date are used for UI display |
+ // and are sent to the delegate after user confirms their CVC. |
+ void GetFullTemporaryCardForPaymentRequest( |
+ JNIEnv* env, |
+ const base::android::JavaParamRef<jobject>& unused_obj, |
+ const base::android::JavaParamRef<jobject>& jweb_contents, |
+ const base::android::JavaParamRef<jstring>& jcard_number, |
+ const base::android::JavaParamRef<jstring>& jname_on_card, |
+ const base::android::JavaParamRef<jstring>& jexpiration_month, |
+ const base::android::JavaParamRef<jstring>& jexpiration_year, |
+ const base::android::JavaParamRef<jobject>& jdelegate); |
+ |
// PersonalDataManagerObserver: |
void OnPersonalDataChanged() override; |