| 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..7ab1285b12b8687d93255789426392c5223da976 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,19 @@ 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->RemoveExpiredFormElements();
|
| + }
|
| }
|
| }
|
|
|
|
|