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

Side by Side Diff: chrome/browser/autofill/android/personal_data_manager_android.cc

Issue 2085133003: Add billing address to credit cards. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addressed comments Created 4 years, 6 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 unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/autofill/android/personal_data_manager_android.h" 5 #include "chrome/browser/autofill/android/personal_data_manager_android.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <algorithm> 8 #include <algorithm>
9 #include <memory> 9 #include <memory>
10 #include <utility> 10 #include <utility>
(...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after
147 {"dinersCC", "diners", IDR_AUTOFILL_PR_GENERIC}, 147 {"dinersCC", "diners", IDR_AUTOFILL_PR_GENERIC},
148 {"discoverCC", "discover", IDR_AUTOFILL_PR_DISCOVER}, 148 {"discoverCC", "discover", IDR_AUTOFILL_PR_DISCOVER},
149 {"jcbCC", "jcb", IDR_AUTOFILL_PR_GENERIC}, 149 {"jcbCC", "jcb", IDR_AUTOFILL_PR_GENERIC},
150 {"masterCardCC", "mastercard", IDR_AUTOFILL_PR_MASTERCARD}, 150 {"masterCardCC", "mastercard", IDR_AUTOFILL_PR_MASTERCARD},
151 {"visaCC", "visa", IDR_AUTOFILL_PR_VISA} 151 {"visaCC", "visa", IDR_AUTOFILL_PR_VISA}
152 }; 152 };
153 153
154 // Converts the card type into PaymentRequest type according to the basic card 154 // Converts the card type into PaymentRequest type according to the basic card
155 // payment spec and an icon. Will set the type and the icon to "generic" for 155 // payment spec and an icon. Will set the type and the icon to "generic" for
156 // unrecognized card type. 156 // unrecognized card type.
157 const PaymentRequestData* GetPaymentRequestData(const std::string& type) { 157 const PaymentRequestData& GetPaymentRequestData(const std::string& type) {
158 for (size_t i = 0; i < arraysize(kPaymentRequestData); ++i) { 158 for (size_t i = 0; i < arraysize(kPaymentRequestData); ++i) {
159 if (type == kPaymentRequestData[i].card_type) 159 if (type == kPaymentRequestData[i].card_type)
160 return &kPaymentRequestData[i]; 160 return kPaymentRequestData[i];
161 } 161 }
162 return &kPaymentRequestData[0]; 162 return kPaymentRequestData[0];
163 } 163 }
164 164
165 ScopedJavaLocalRef<jobject> CreateJavaCreditCardFromNative( 165 ScopedJavaLocalRef<jobject> CreateJavaCreditCardFromNative(
166 JNIEnv* env, 166 JNIEnv* env,
167 const CreditCard& card) { 167 const CreditCard& card) {
168 const PaymentRequestData* payment_request_data = 168 const PaymentRequestData& payment_request_data =
169 GetPaymentRequestData(card.type()); 169 GetPaymentRequestData(card.type());
170 return Java_CreditCard_create( 170 return Java_CreditCard_create(
171 env, ConvertUTF8ToJavaString(env, card.guid()).obj(), 171 env, ConvertUTF8ToJavaString(env, card.guid()).obj(),
172 ConvertUTF8ToJavaString(env, card.origin()).obj(), 172 ConvertUTF8ToJavaString(env, card.origin()).obj(),
173 card.record_type() == CreditCard::LOCAL_CARD, 173 card.record_type() == CreditCard::LOCAL_CARD,
174 card.record_type() == CreditCard::FULL_SERVER_CARD, 174 card.record_type() == CreditCard::FULL_SERVER_CARD,
175 ConvertUTF16ToJavaString(env, card.GetRawInfo(CREDIT_CARD_NAME_FULL)) 175 ConvertUTF16ToJavaString(env, card.GetRawInfo(CREDIT_CARD_NAME_FULL))
176 .obj(), 176 .obj(),
177 ConvertUTF16ToJavaString(env, card.GetRawInfo(CREDIT_CARD_NUMBER)).obj(), 177 ConvertUTF16ToJavaString(env, card.GetRawInfo(CREDIT_CARD_NUMBER)).obj(),
178 ConvertUTF16ToJavaString(env, card.TypeAndLastFourDigits()).obj(), 178 ConvertUTF16ToJavaString(env, card.TypeAndLastFourDigits()).obj(),
179 ConvertUTF16ToJavaString(env, card.GetRawInfo(CREDIT_CARD_EXP_MONTH)) 179 ConvertUTF16ToJavaString(env, card.GetRawInfo(CREDIT_CARD_EXP_MONTH))
180 .obj(), 180 .obj(),
181 ConvertUTF16ToJavaString(env, 181 ConvertUTF16ToJavaString(env,
182 card.GetRawInfo(CREDIT_CARD_EXP_4_DIGIT_YEAR)) 182 card.GetRawInfo(CREDIT_CARD_EXP_4_DIGIT_YEAR))
183 .obj(), 183 .obj(),
184 ConvertUTF8ToJavaString(env, 184 ConvertUTF8ToJavaString(env, payment_request_data.basic_card_payment_type)
185 payment_request_data->basic_card_payment_type)
186 .obj(), 185 .obj(),
187 ResourceMapper::MapFromChromiumId( 186 ResourceMapper::MapFromChromiumId(payment_request_data.icon_resource_id),
188 payment_request_data->icon_resource_id)); 187 ConvertUTF8ToJavaString(env, card.billing_address_id()) .obj());
189 } 188 }
190 189
191 void PopulateNativeCreditCardFromJava( 190 void PopulateNativeCreditCardFromJava(
192 const jobject& jcard, 191 const jobject& jcard,
193 JNIEnv* env, 192 JNIEnv* env,
194 CreditCard* card) { 193 CreditCard* card) {
195 card->set_origin( 194 card->set_origin(
196 ConvertJavaStringToUTF8(Java_CreditCard_getOrigin(env, jcard))); 195 ConvertJavaStringToUTF8(Java_CreditCard_getOrigin(env, jcard)));
197 card->SetRawInfo( 196 card->SetRawInfo(
198 CREDIT_CARD_NAME_FULL, 197 CREDIT_CARD_NAME_FULL,
199 ConvertJavaStringToUTF16(Java_CreditCard_getName(env, jcard))); 198 ConvertJavaStringToUTF16(Java_CreditCard_getName(env, jcard)));
200 card->SetRawInfo( 199 card->SetRawInfo(
201 CREDIT_CARD_NUMBER, 200 CREDIT_CARD_NUMBER,
202 ConvertJavaStringToUTF16(Java_CreditCard_getNumber(env, jcard))); 201 ConvertJavaStringToUTF16(Java_CreditCard_getNumber(env, jcard)));
203 card->SetRawInfo( 202 card->SetRawInfo(
204 CREDIT_CARD_EXP_MONTH, 203 CREDIT_CARD_EXP_MONTH,
205 ConvertJavaStringToUTF16(Java_CreditCard_getMonth(env, jcard))); 204 ConvertJavaStringToUTF16(Java_CreditCard_getMonth(env, jcard)));
206 card->SetRawInfo( 205 card->SetRawInfo(
207 CREDIT_CARD_EXP_4_DIGIT_YEAR, 206 CREDIT_CARD_EXP_4_DIGIT_YEAR,
208 ConvertJavaStringToUTF16(Java_CreditCard_getYear(env, jcard))); 207 ConvertJavaStringToUTF16(Java_CreditCard_getYear(env, jcard)));
208 card->set_billing_address_id(
209 ConvertJavaStringToUTF8(Java_CreditCard_getBillingAddressId(env, jcard)));
209 } 210 }
210 211
211 // Self-deleting requester of full card details, including full PAN and the CVC 212 // Self-deleting requester of full card details, including full PAN and the CVC
212 // number. 213 // number.
213 class FullCardRequester : public payments::FullCardRequest::Delegate, 214 class FullCardRequester : public payments::FullCardRequest::Delegate,
214 public base::SupportsWeakPtr<FullCardRequester> { 215 public base::SupportsWeakPtr<FullCardRequester> {
215 public: 216 public:
216 FullCardRequester() {} 217 FullCardRequester() {}
217 218
218 void GetFullCard(JNIEnv* env, 219 void GetFullCard(JNIEnv* env,
(...skipping 359 matching lines...) Expand 10 before | Expand all | Expand 10 after
578 base::android::ConvertJavaStringToUTF16(env, jcountry_name))); 579 base::android::ConvertJavaStringToUTF16(env, jcountry_name)));
579 } 580 }
580 581
581 static jlong Init(JNIEnv* env, const JavaParamRef<jobject>& obj) { 582 static jlong Init(JNIEnv* env, const JavaParamRef<jobject>& obj) {
582 PersonalDataManagerAndroid* personal_data_manager_android = 583 PersonalDataManagerAndroid* personal_data_manager_android =
583 new PersonalDataManagerAndroid(env, obj); 584 new PersonalDataManagerAndroid(env, obj);
584 return reinterpret_cast<intptr_t>(personal_data_manager_android); 585 return reinterpret_cast<intptr_t>(personal_data_manager_android);
585 } 586 }
586 587
587 } // namespace autofill 588 } // namespace autofill
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698