diff options
author | dhollowa@chromium.org <dhollowa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-11-18 01:54:01 +0000 |
---|---|---|
committer | dhollowa@chromium.org <dhollowa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-11-18 01:54:01 +0000 |
commit | 7ed9caae9a7f7117d8d20bc2057d434ccf192908 (patch) | |
tree | 4ebd314ba875938e2c0e537cf9c750a0dc5fd174 /chrome/browser/autofill | |
parent | 301e5f36c2539ddebd68d98eec9a2c91480d477f (diff) | |
download | chromium_src-7ed9caae9a7f7117d8d20bc2057d434ccf192908.zip chromium_src-7ed9caae9a7f7117d8d20bc2057d434ccf192908.tar.gz chromium_src-7ed9caae9a7f7117d8d20bc2057d434ccf192908.tar.bz2 |
Infobar shouldn't be prompted when we don't modify the Credit Card data that's auto filled
Checks to see if submitted credit card info already exists in the Autofill preferences and avoids showing the credit card infobar if it does.
BUG=63401
TEST=PersonalDataManagerTest.*, and manual test according to steps in bug.
Review URL: http://codereview.chromium.org/5145004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@66573 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/autofill')
-rw-r--r-- | chrome/browser/autofill/personal_data_manager.cc | 12 | ||||
-rw-r--r-- | chrome/browser/autofill/personal_data_manager_unittest.cc | 6 |
2 files changed, 13 insertions, 5 deletions
diff --git a/chrome/browser/autofill/personal_data_manager.cc b/chrome/browser/autofill/personal_data_manager.cc index 578bb6a..e1f0e4e 100644 --- a/chrome/browser/autofill/personal_data_manager.cc +++ b/chrome/browser/autofill/personal_data_manager.cc @@ -254,6 +254,18 @@ bool PersonalDataManager::ImportFormData( } } + // Don't import if we already have this info. + if (imported_credit_card_.get()) { + for (std::vector<CreditCard*>::const_iterator iter = credit_cards_.begin(); + iter != credit_cards_.end(); + ++iter) { + if (imported_credit_card_->IsSubsetOf(**iter)) { + imported_credit_card_.reset(); + break; + } + } + } + // We always save imported profiles. SaveImportedProfile(); diff --git a/chrome/browser/autofill/personal_data_manager_unittest.cc b/chrome/browser/autofill/personal_data_manager_unittest.cc index 8911a0a..7c2fc5f 100644 --- a/chrome/browser/autofill/personal_data_manager_unittest.cc +++ b/chrome/browser/autofill/personal_data_manager_unittest.cc @@ -1222,11 +1222,7 @@ TEST_F(PersonalDataManagerTest, AggregateCreditCardWithMissingInfoInNew) { personal_data_->ImportFormData(forms); personal_data_->SaveImportedCreditCard(); - // Wait for the refresh. - EXPECT_CALL(personal_data_observer_, - OnPersonalDataLoaded()).WillOnce(QuitUIMessageLoop()); - - MessageLoop::current()->Run(); + // Note: no refresh here. // No change is expected. CreditCard expected2; |