Chromium Code Reviews| Index: chrome/browser/autofill/personal_data_manager.cc |
| diff --git a/chrome/browser/autofill/personal_data_manager.cc b/chrome/browser/autofill/personal_data_manager.cc |
| index f291cf9f3a31ae70980284da0875bf289bc44fa5..640a1d8d34d9e9bc0ba5239227fd5bab97c2cc61 100644 |
| --- a/chrome/browser/autofill/personal_data_manager.cc |
| +++ b/chrome/browser/autofill/personal_data_manager.cc |
| @@ -23,6 +23,7 @@ |
| #include "chrome/browser/profiles/profile.h" |
| #include "chrome/browser/sync/profile_sync_service.h" |
| #include "chrome/browser/sync/profile_sync_service_factory.h" |
| +#include "chrome/browser/webdata/autofill_entry.h" |
| #include "chrome/browser/webdata/web_data_service.h" |
| #include "chrome/common/chrome_notification_types.h" |
| #include "chrome/common/pref_names.h" |
| @@ -161,6 +162,24 @@ void PersonalDataManager::OnWebDataServiceRequestDone( |
| AutofillProfile::AdjustInferredLabels(&profile_pointers); |
| FOR_EACH_OBSERVER(PersonalDataManagerObserver, observers_, |
| OnPersonalDataChanged()); |
| + |
| + // As all autofill data is ready, the Autocomplete data is ready as well. |
|
Ilya Sherman
2012/03/09 23:15:22
nit: "autofill" -> "Autofill"
GeorgeY
2012/03/14 21:55:30
Done.
|
| + // If sync is not set, cull older entries of the autocomplete. Otherwise, |
| + // the entries will be culled when sync is connected. |
| + ProfileSyncService* sync_service = |
| + ProfileSyncServiceFactory::GetInstance()->GetForProfile(profile_); |
| + if (sync_service && (!sync_service->HasSyncSetupCompleted() || |
| + !profile_->GetPrefs()->GetBoolean(prefs::kSyncAutofill))) { |
| + WebDataService* wds = |
| + profile_->GetWebDataService(Profile::EXPLICIT_ACCESS); |
| + if (wds) { |
| + wds->RemoveFormElementsAddedBetween( |
| + base::Time(), |
| + base::Time::Now() - |
| + base::TimeDelta::FromDays( |
| + AutofillEntry::kExpirationPeriodInDays)); |
| + } |
| + } |
| } |
| } |