OLD | NEW |
---|---|
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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/ui/webui/options/autofill_options_handler.h" | 5 #include "chrome/browser/ui/webui/options/autofill_options_handler.h" |
6 | 6 |
7 #include <vector> | 7 #include <vector> |
8 | 8 |
9 #include "base/logging.h" | 9 #include "base/logging.h" |
10 #include "base/string16.h" | 10 #include "base/string16.h" |
(...skipping 248 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
259 // There is a race where a user can click once on the close button and | 259 // There is a race where a user can click once on the close button and |
260 // quickly click again on the list item before the item is removed (since | 260 // quickly click again on the list item before the item is removed (since |
261 // the list is not updated until the model tells the list an item has been | 261 // the list is not updated until the model tells the list an item has been |
262 // removed). This will activate the editor for a profile that has been | 262 // removed). This will activate the editor for a profile that has been |
263 // removed. Do nothing in that case. | 263 // removed. Do nothing in that case. |
264 return; | 264 return; |
265 } | 265 } |
266 | 266 |
267 DictionaryValue address; | 267 DictionaryValue address; |
268 address.SetString("guid", profile->guid()); | 268 address.SetString("guid", profile->guid()); |
269 address.SetString("fullName", | 269 address.SetString("fullName", |
dhollowa
2011/03/16 17:07:11
nit: A number of these should fit on single line n
Ilya Sherman
2011/03/17 03:42:29
Done.
| |
270 profile->GetFieldText(AutofillType(NAME_FULL))); | 270 profile->GetFieldText(NAME_FULL)); |
271 address.SetString("companyName", | 271 address.SetString("companyName", |
272 profile->GetFieldText(AutofillType(COMPANY_NAME))); | 272 profile->GetFieldText(COMPANY_NAME)); |
273 address.SetString("addrLine1", | 273 address.SetString("addrLine1", |
274 profile->GetFieldText(AutofillType(ADDRESS_HOME_LINE1))); | 274 profile->GetFieldText(ADDRESS_HOME_LINE1)); |
275 address.SetString("addrLine2", | 275 address.SetString("addrLine2", |
276 profile->GetFieldText(AutofillType(ADDRESS_HOME_LINE2))); | 276 profile->GetFieldText(ADDRESS_HOME_LINE2)); |
277 address.SetString("city", | 277 address.SetString("city", |
278 profile->GetFieldText(AutofillType(ADDRESS_HOME_CITY))); | 278 profile->GetFieldText(ADDRESS_HOME_CITY)); |
279 address.SetString("state", | 279 address.SetString("state", |
280 profile->GetFieldText(AutofillType(ADDRESS_HOME_STATE))); | 280 profile->GetFieldText(ADDRESS_HOME_STATE)); |
281 address.SetString("postalCode", | 281 address.SetString("postalCode", |
282 profile->GetFieldText(AutofillType(ADDRESS_HOME_ZIP))); | 282 profile->GetFieldText(ADDRESS_HOME_ZIP)); |
283 address.SetString("country", | 283 address.SetString("country", |
284 profile->CountryCode()); | 284 profile->CountryCode()); |
285 address.SetString( | 285 address.SetString( |
286 "phone", | 286 "phone", |
287 profile->GetFieldText(AutofillType(PHONE_HOME_WHOLE_NUMBER))); | 287 profile->GetFieldText(PHONE_HOME_WHOLE_NUMBER)); |
288 address.SetString( | 288 address.SetString( |
289 "fax", | 289 "fax", |
290 profile->GetFieldText(AutofillType(PHONE_FAX_WHOLE_NUMBER))); | 290 profile->GetFieldText(PHONE_FAX_WHOLE_NUMBER)); |
291 address.SetString("email", | 291 address.SetString("email", |
292 profile->GetFieldText(AutofillType(EMAIL_ADDRESS))); | 292 profile->GetFieldText(EMAIL_ADDRESS)); |
293 | 293 |
294 web_ui_->CallJavascriptFunction("AutoFillOptions.editAddress", address); | 294 web_ui_->CallJavascriptFunction("AutoFillOptions.editAddress", address); |
295 } | 295 } |
296 | 296 |
297 void AutoFillOptionsHandler::LoadCreditCardEditor(const ListValue* args) { | 297 void AutoFillOptionsHandler::LoadCreditCardEditor(const ListValue* args) { |
298 DCHECK(personal_data_->IsDataLoaded()); | 298 DCHECK(personal_data_->IsDataLoaded()); |
299 | 299 |
300 std::string guid; | 300 std::string guid; |
301 if (!args->GetString(0, &guid)) { | 301 if (!args->GetString(0, &guid)) { |
302 NOTREACHED(); | 302 NOTREACHED(); |
303 return; | 303 return; |
304 } | 304 } |
305 | 305 |
306 CreditCard* credit_card = personal_data_->GetCreditCardByGUID(guid); | 306 CreditCard* credit_card = personal_data_->GetCreditCardByGUID(guid); |
307 if (!credit_card) { | 307 if (!credit_card) { |
308 // There is a race where a user can click once on the close button and | 308 // There is a race where a user can click once on the close button and |
309 // quickly click again on the list item before the item is removed (since | 309 // quickly click again on the list item before the item is removed (since |
310 // the list is not updated until the model tells the list an item has been | 310 // the list is not updated until the model tells the list an item has been |
311 // removed). This will activate the editor for a profile that has been | 311 // removed). This will activate the editor for a profile that has been |
312 // removed. Do nothing in that case. | 312 // removed. Do nothing in that case. |
313 return; | 313 return; |
314 } | 314 } |
315 | 315 |
316 DictionaryValue credit_card_data; | 316 DictionaryValue credit_card_data; |
317 credit_card_data.SetString("guid", credit_card->guid()); | 317 credit_card_data.SetString("guid", credit_card->guid()); |
318 credit_card_data.SetString( | 318 credit_card_data.SetString( |
319 "nameOnCard", | 319 "nameOnCard", |
320 credit_card->GetFieldText(AutofillType(CREDIT_CARD_NAME))); | 320 credit_card->GetFieldText(CREDIT_CARD_NAME)); |
321 credit_card_data.SetString( | 321 credit_card_data.SetString( |
322 "creditCardNumber", | 322 "creditCardNumber", |
323 credit_card->GetFieldText(AutofillType(CREDIT_CARD_NUMBER))); | 323 credit_card->GetFieldText(CREDIT_CARD_NUMBER)); |
324 credit_card_data.SetString( | 324 credit_card_data.SetString( |
325 "expirationMonth", | 325 "expirationMonth", |
326 credit_card->GetFieldText(AutofillType(CREDIT_CARD_EXP_MONTH))); | 326 credit_card->GetFieldText(CREDIT_CARD_EXP_MONTH)); |
327 credit_card_data.SetString( | 327 credit_card_data.SetString( |
328 "expirationYear", | 328 "expirationYear", |
329 credit_card->GetFieldText(AutofillType(CREDIT_CARD_EXP_4_DIGIT_YEAR))); | 329 credit_card->GetFieldText(CREDIT_CARD_EXP_4_DIGIT_YEAR)); |
330 | 330 |
331 web_ui_->CallJavascriptFunction("AutoFillOptions.editCreditCard", | 331 web_ui_->CallJavascriptFunction("AutoFillOptions.editCreditCard", |
332 credit_card_data); | 332 credit_card_data); |
333 } | 333 } |
334 | 334 |
335 void AutoFillOptionsHandler::SetAddress(const ListValue* args) { | 335 void AutoFillOptionsHandler::SetAddress(const ListValue* args) { |
336 if (!personal_data_->IsDataLoaded()) | 336 if (!personal_data_->IsDataLoaded()) |
337 return; | 337 return; |
338 | 338 |
339 std::string guid; | 339 std::string guid; |
340 if (!args->GetString(0, &guid)) { | 340 if (!args->GetString(0, &guid)) { |
341 NOTREACHED(); | 341 NOTREACHED(); |
342 return; | 342 return; |
343 } | 343 } |
344 | 344 |
345 AutofillProfile profile(guid); | 345 AutofillProfile profile(guid); |
346 | 346 |
347 std::string country_code; | 347 std::string country_code; |
348 string16 value; | 348 string16 value; |
349 if (args->GetString(1, &value)) | 349 if (args->GetString(1, &value)) |
350 profile.SetInfo(AutofillType(NAME_FULL), value); | 350 profile.SetInfo(NAME_FULL, value); |
351 if (args->GetString(2, &value)) | 351 if (args->GetString(2, &value)) |
352 profile.SetInfo(AutofillType(COMPANY_NAME), value); | 352 profile.SetInfo(COMPANY_NAME, value); |
353 if (args->GetString(3, &value)) | 353 if (args->GetString(3, &value)) |
354 profile.SetInfo(AutofillType(ADDRESS_HOME_LINE1), value); | 354 profile.SetInfo(ADDRESS_HOME_LINE1, value); |
355 if (args->GetString(4, &value)) | 355 if (args->GetString(4, &value)) |
356 profile.SetInfo(AutofillType(ADDRESS_HOME_LINE2), value); | 356 profile.SetInfo(ADDRESS_HOME_LINE2, value); |
357 if (args->GetString(5, &value)) | 357 if (args->GetString(5, &value)) |
358 profile.SetInfo(AutofillType(ADDRESS_HOME_CITY), value); | 358 profile.SetInfo(ADDRESS_HOME_CITY, value); |
359 if (args->GetString(6, &value)) | 359 if (args->GetString(6, &value)) |
360 profile.SetInfo(AutofillType(ADDRESS_HOME_STATE), value); | 360 profile.SetInfo(ADDRESS_HOME_STATE, value); |
361 if (args->GetString(7, &value)) | 361 if (args->GetString(7, &value)) |
362 profile.SetInfo(AutofillType(ADDRESS_HOME_ZIP), value); | 362 profile.SetInfo(ADDRESS_HOME_ZIP, value); |
363 if (args->GetString(8, &country_code)) | 363 if (args->GetString(8, &country_code)) |
364 profile.SetCountryCode(country_code); | 364 profile.SetCountryCode(country_code); |
365 if (args->GetString(9, &value)) | 365 if (args->GetString(9, &value)) |
366 profile.SetInfo(AutofillType(PHONE_HOME_WHOLE_NUMBER), value); | 366 profile.SetInfo(PHONE_HOME_WHOLE_NUMBER, value); |
367 if (args->GetString(10, &value)) | 367 if (args->GetString(10, &value)) |
368 profile.SetInfo(AutofillType(PHONE_FAX_WHOLE_NUMBER), value); | 368 profile.SetInfo(PHONE_FAX_WHOLE_NUMBER, value); |
369 if (args->GetString(11, &value)) | 369 if (args->GetString(11, &value)) |
370 profile.SetInfo(AutofillType(EMAIL_ADDRESS), value); | 370 profile.SetInfo(EMAIL_ADDRESS, value); |
371 | 371 |
372 if (!guid::IsValidGUID(profile.guid())) { | 372 if (!guid::IsValidGUID(profile.guid())) { |
373 profile.set_guid(guid::GenerateGUID()); | 373 profile.set_guid(guid::GenerateGUID()); |
374 personal_data_->AddProfile(profile); | 374 personal_data_->AddProfile(profile); |
375 } else { | 375 } else { |
376 personal_data_->UpdateProfile(profile); | 376 personal_data_->UpdateProfile(profile); |
377 } | 377 } |
378 } | 378 } |
379 | 379 |
380 void AutoFillOptionsHandler::SetCreditCard(const ListValue* args) { | 380 void AutoFillOptionsHandler::SetCreditCard(const ListValue* args) { |
381 if (!personal_data_->IsDataLoaded()) | 381 if (!personal_data_->IsDataLoaded()) |
382 return; | 382 return; |
383 | 383 |
384 std::string guid; | 384 std::string guid; |
385 if (!args->GetString(0, &guid)) { | 385 if (!args->GetString(0, &guid)) { |
386 NOTREACHED(); | 386 NOTREACHED(); |
387 return; | 387 return; |
388 } | 388 } |
389 | 389 |
390 CreditCard credit_card(guid); | 390 CreditCard credit_card(guid); |
391 | 391 |
392 string16 value; | 392 string16 value; |
393 if (args->GetString(1, &value)) | 393 if (args->GetString(1, &value)) |
394 credit_card.SetInfo(AutofillType(CREDIT_CARD_NAME), value); | 394 credit_card.SetInfo(CREDIT_CARD_NAME, value); |
395 if (args->GetString(2, &value)) | 395 if (args->GetString(2, &value)) |
396 credit_card.SetInfo(AutofillType(CREDIT_CARD_NUMBER), value); | 396 credit_card.SetInfo(CREDIT_CARD_NUMBER, value); |
397 if (args->GetString(3, &value)) | 397 if (args->GetString(3, &value)) |
398 credit_card.SetInfo(AutofillType(CREDIT_CARD_EXP_MONTH), value); | 398 credit_card.SetInfo(CREDIT_CARD_EXP_MONTH, value); |
399 if (args->GetString(4, &value)) | 399 if (args->GetString(4, &value)) |
400 credit_card.SetInfo(AutofillType(CREDIT_CARD_EXP_4_DIGIT_YEAR), value); | 400 credit_card.SetInfo(CREDIT_CARD_EXP_4_DIGIT_YEAR, value); |
401 | 401 |
402 if (!guid::IsValidGUID(credit_card.guid())) { | 402 if (!guid::IsValidGUID(credit_card.guid())) { |
403 credit_card.set_guid(guid::GenerateGUID()); | 403 credit_card.set_guid(guid::GenerateGUID()); |
404 personal_data_->AddCreditCard(credit_card); | 404 personal_data_->AddCreditCard(credit_card); |
405 } else { | 405 } else { |
406 personal_data_->UpdateCreditCard(credit_card); | 406 personal_data_->UpdateCreditCard(credit_card); |
407 } | 407 } |
408 } | 408 } |
OLD | NEW |