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..fe2b36bc188b083ab374944301833030aa7cc2d8 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,23 @@ 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. |
| + // 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->RemoveFormElementsAccessedBefore( |
|
Ilya Sherman
2012/03/15 21:00:41
nit: Can we make this interface simply be "wds->Re
GeorgeY
2012/03/17 00:36:16
Yes, done
|
| + base::Time::Now() - |
| + base::TimeDelta::FromDays( |
| + AutofillEntry::kExpirationPeriodInDays)); |
| + } |
| + } |
| } |
| } |