Chromium Code Reviews| Index: chrome/browser/dom_ui/options/autofill_options_handler.cc |
| diff --git a/chrome/browser/dom_ui/options/autofill_options_handler.cc b/chrome/browser/dom_ui/options/autofill_options_handler.cc |
| index e6d0f00de59fb546b6db413dd10fbd48c18ccafe..a6690cd922a6c08949b22be81227fac2b047492a 100644 |
| --- a/chrome/browser/dom_ui/options/autofill_options_handler.cc |
| +++ b/chrome/browser/dom_ui/options/autofill_options_handler.cc |
| @@ -34,15 +34,13 @@ void AutoFillOptionsHandler::GetLocalizedValues( |
| localized_strings->SetString("autoFillOptionsTitle", |
| l10n_util::GetStringUTF16(IDS_AUTOFILL_OPTIONS_TITLE)); |
| - localized_strings->SetString("autoFillEnabled", |
| - l10n_util::GetStringUTF16(IDS_OPTIONS_AUTOFILL_ENABLE)); |
| - localized_strings->SetString("addressesHeader", |
| + localized_strings->SetString("autoFillAddresses", |
| l10n_util::GetStringUTF16(IDS_AUTOFILL_ADDRESSES_GROUP_NAME)); |
| - localized_strings->SetString("creditCardsHeader", |
| + localized_strings->SetString("autoFillCreditCards", |
| l10n_util::GetStringUTF16(IDS_AUTOFILL_CREDITCARDS_GROUP_NAME)); |
| - localized_strings->SetString("addAddressButton", |
| + localized_strings->SetString("autoFillAddAddress", |
| l10n_util::GetStringUTF16(IDS_AUTOFILL_ADD_ADDRESS_BUTTON)); |
| - localized_strings->SetString("addCreditCardButton", |
| + localized_strings->SetString("autoFillAddCreditCard", |
| l10n_util::GetStringUTF16(IDS_AUTOFILL_ADD_CREDITCARD_BUTTON)); |
| localized_strings->SetString("editButton", |
|
James Hawkins
2010/12/22 01:39:40
Not used, remove.
James Hawkins
2010/12/22 02:23:53
Done.
|
| l10n_util::GetStringUTF16(IDS_AUTOFILL_EDIT_BUTTON)); |
| @@ -64,8 +62,7 @@ void AutoFillOptionsHandler::GetLocalizedValues( |
| } |
| void AutoFillOptionsHandler::Initialize() { |
| - personal_data_ = |
| - dom_ui_->GetProfile()->GetOriginalProfile()->GetPersonalDataManager(); |
| + personal_data_ = dom_ui_->GetProfile()->GetPersonalDataManager(); |
| personal_data_->SetObserver(this); |
| LoadAutoFillData(); |
| @@ -73,28 +70,17 @@ void AutoFillOptionsHandler::Initialize() { |
| void AutoFillOptionsHandler::RegisterMessages() { |
| dom_ui_->RegisterMessageCallback( |
| - "updateAddress", |
| - NewCallback(this, &AutoFillOptionsHandler::UpdateAddress)); |
| - |
| - dom_ui_->RegisterMessageCallback( |
| - "editAddress", |
| - NewCallback(this, &AutoFillOptionsHandler::EditAddress)); |
| - |
| + "removeAutoFillProfile", |
| + NewCallback(this, &AutoFillOptionsHandler::RemoveAutoFillProfile)); |
| dom_ui_->RegisterMessageCallback( |
| - "removeAddress", |
| - NewCallback(this, &AutoFillOptionsHandler::RemoveAddress)); |
| - |
| + "loadProfileEditor", |
| + NewCallback(this, &AutoFillOptionsHandler::LoadProfileEditor)); |
| dom_ui_->RegisterMessageCallback( |
| - "updateCreditCard", |
| - NewCallback(this, &AutoFillOptionsHandler::UpdateCreditCard)); |
| - |
| - dom_ui_->RegisterMessageCallback( |
| - "editCreditCard", |
| - NewCallback(this, &AutoFillOptionsHandler::EditCreditCard)); |
| - |
| + "setAddress", |
| + NewCallback(this, &AutoFillOptionsHandler::SetAddress)); |
| dom_ui_->RegisterMessageCallback( |
| - "removeCreditCard", |
| - NewCallback(this, &AutoFillOptionsHandler::RemoveCreditCard)); |
| + "setCreditCard", |
| + NewCallback(this, &AutoFillOptionsHandler::SetCreditCard)); |
| } |
| ///////////////////////////////////////////////////////////////////////////// |
| @@ -157,30 +143,65 @@ void AutoFillOptionsHandler::LoadAutoFillData() { |
| for (std::vector<AutoFillProfile*>::const_iterator i = |
| personal_data_->web_profiles().begin(); |
| i != personal_data_->web_profiles().end(); ++i) { |
| - DictionaryValue* address = new DictionaryValue(); |
| - address->SetString("label", (*i)->Label()); |
| - address->SetString("guid", (*i)->guid()); |
| - addresses.Append(address); |
| + ListValue* entry = new ListValue(); |
| + entry->Append(new StringValue((*i)->guid())); |
| + entry->Append(new StringValue((*i)->Label())); |
| + addresses.Append(entry); |
| } |
| - dom_ui_->CallJavascriptFunction(L"AutoFillOptions.updateAddresses", |
| + dom_ui_->CallJavascriptFunction(L"AutoFillOptions.setAddressList", |
| addresses); |
| ListValue credit_cards; |
| for (std::vector<CreditCard*>::const_iterator i = |
| personal_data_->credit_cards().begin(); |
| i != personal_data_->credit_cards().end(); ++i) { |
| - DictionaryValue* credit_card = new DictionaryValue(); |
| - credit_card->SetString("label", (*i)->PreviewSummary()); |
| - credit_card->SetString("guid", (*i)->guid()); |
| - credit_cards.Append(credit_card); |
| + ListValue* entry = new ListValue(); |
| + entry->Append(new StringValue((*i)->guid())); |
| + entry->Append(new StringValue((*i)->PreviewSummary())); |
| + credit_cards.Append(entry); |
| } |
| - dom_ui_->CallJavascriptFunction(L"AutoFillOptions.updateCreditCards", |
| + dom_ui_->CallJavascriptFunction(L"AutoFillOptions.setCreditCardList", |
| credit_cards); |
| } |
| -void AutoFillOptionsHandler::UpdateAddress(const ListValue* args) { |
| +void AutoFillOptionsHandler::RemoveAutoFillProfile(const ListValue* args) { |
| + DCHECK(personal_data_->IsDataLoaded()); |
| + |
| + std::string guid; |
| + if (!args->GetString(0, &guid)) { |
| + NOTREACHED(); |
| + return; |
| + } |
| + |
| + // TODO(jhawkins): Make RemoveProfile return true/false depending on whether |
| + // the profile was removed or not. |
| + if (personal_data_->GetProfileByGUID(guid) != NULL) |
| + personal_data_->RemoveProfile(guid); |
| + else |
| + personal_data_->RemoveCreditCard(guid); |
| +} |
| + |
| +void AutoFillOptionsHandler::LoadProfileEditor(const ListValue* args) { |
| + printf("LoadProfileEditor\n"); |
|
James Hawkins
2010/12/22 01:39:40
Remove cruft.
James Hawkins
2010/12/22 02:23:53
Done.
|
| + DCHECK(personal_data_->IsDataLoaded()); |
| + |
| + std::string guid; |
| + if (!args->GetString(0, &guid)) { |
| + NOTREACHED(); |
| + return; |
| + } |
| + |
| + // TODO(jhawkins): Refactor this. |
| + AutoFillProfile* address = personal_data_->GetProfileByGUID(guid); |
| + if (address != NULL) |
| + EditAddress(guid); |
| + else |
| + EditCreditCard(guid); |
| +} |
| + |
| +void AutoFillOptionsHandler::SetAddress(const ListValue* args) { |
| if (!personal_data_->IsDataLoaded()) |
| return; |
| @@ -224,7 +245,7 @@ void AutoFillOptionsHandler::UpdateAddress(const ListValue* args) { |
| } |
| } |
| -void AutoFillOptionsHandler::EditAddress(const ListValue* args) { |
| +void AutoFillOptionsHandler::SetCreditCard(const ListValue* args) { |
| if (!personal_data_->IsDataLoaded()) |
| return; |
| @@ -234,6 +255,29 @@ void AutoFillOptionsHandler::EditAddress(const ListValue* args) { |
| return; |
| } |
| + CreditCard credit_card(guid); |
| + |
| + string16 value; |
| + if (args->GetString(1, &value)) |
| + credit_card.SetInfo(AutoFillType(CREDIT_CARD_NAME), value); |
| + if (args->GetString(2, &value)) |
| + credit_card.SetInfo(AutoFillType(CREDIT_CARD_NUMBER), value); |
| + if (args->GetString(3, &value)) |
| + credit_card.SetInfo(AutoFillType(CREDIT_CARD_EXP_MONTH), value); |
| + if (args->GetString(4, &value)) |
| + credit_card.SetInfo(AutoFillType(CREDIT_CARD_EXP_4_DIGIT_YEAR), value); |
| + |
| + if (!guid::IsValidGUID(credit_card.guid())) { |
| + credit_card.set_guid(guid::GenerateGUID()); |
| + personal_data_->AddCreditCard(credit_card); |
| + } else { |
| + personal_data_->UpdateCreditCard(credit_card); |
| + } |
| +} |
| + |
| +void AutoFillOptionsHandler::EditAddress(const std::string& guid) { |
| + DCHECK(personal_data_->IsDataLoaded()); |
| + |
| AutoFillProfile* profile = personal_data_->GetProfileByGUID(guid); |
| if (!profile) { |
| NOTREACHED(); |
| @@ -275,62 +319,10 @@ void AutoFillOptionsHandler::EditAddress(const ListValue* args) { |
| addressList); |
| } |
| -void AutoFillOptionsHandler::RemoveAddress(const ListValue* args) { |
| - if (!personal_data_->IsDataLoaded()) |
| - return; |
| - |
| - std::string guid; |
| - if (!args->GetString(0, &guid)) { |
| - NOTREACHED(); |
| - return; |
| - } |
| - |
| - personal_data_->RemoveProfile(guid); |
| -} |
| - |
| -void AutoFillOptionsHandler::UpdateCreditCard(const ListValue* args) { |
| - if (!personal_data_->IsDataLoaded()) |
| - return; |
| - |
| - std::string guid; |
| - if (!args->GetString(0, &guid)) { |
| - NOTREACHED(); |
| - return; |
| - } |
| - |
| - CreditCard credit_card(guid); |
| - |
| - string16 value; |
| - if (args->GetString(1, &value)) |
| - credit_card.SetInfo(AutoFillType(CREDIT_CARD_NAME), value); |
| - if (args->GetString(2, &value)) |
| - credit_card.SetInfo(AutoFillType(CREDIT_CARD_NUMBER), value); |
| - if (args->GetString(3, &value)) |
| - credit_card.SetInfo(AutoFillType(CREDIT_CARD_EXP_MONTH), value); |
| - if (args->GetString(4, &value)) |
| - credit_card.SetInfo(AutoFillType(CREDIT_CARD_EXP_4_DIGIT_YEAR), value); |
| - |
| - if (!guid::IsValidGUID(credit_card.guid())) { |
| - credit_card.set_guid(guid::GenerateGUID()); |
| - personal_data_->AddCreditCard(credit_card); |
| - } else { |
| - personal_data_->UpdateCreditCard(credit_card); |
| - } |
| - |
| -} |
| - |
| -void AutoFillOptionsHandler::EditCreditCard(const ListValue* args) { |
| - if (!personal_data_->IsDataLoaded()) |
| - return; |
| - |
| - std::string guid; |
| - if (!args->GetString(0, &guid)) { |
| - NOTREACHED(); |
| - return; |
| - } |
| +void AutoFillOptionsHandler::EditCreditCard(const std::string& guid) { |
| + DCHECK(personal_data_->IsDataLoaded()); |
| CreditCard* credit_card = personal_data_->GetCreditCardByGUID(guid); |
| - |
| if (!credit_card) { |
| NOTREACHED(); |
| return; |
| @@ -358,16 +350,3 @@ void AutoFillOptionsHandler::EditCreditCard(const ListValue* args) { |
| dom_ui_->CallJavascriptFunction(L"AutoFillOptions.editCreditCard", |
| credit_card_list); |
| } |
| - |
| -void AutoFillOptionsHandler::RemoveCreditCard(const ListValue* args) { |
| - if (!personal_data_->IsDataLoaded()) |
| - return; |
| - |
| - std::string guid; |
| - if (!args->GetString(0, &guid)) { |
| - NOTREACHED(); |
| - return; |
| - } |
| - |
| - personal_data_->RemoveCreditCard(guid); |
| -} |