| Index: chrome/browser/webdata/autocomplete_syncable_service.cc
|
| diff --git a/chrome/browser/webdata/autocomplete_syncable_service.cc b/chrome/browser/webdata/autocomplete_syncable_service.cc
|
| index f61d76a79a0941503dfdbcf45327c2107dee37bb..ed05a2b8519874baecb9daad95148b4122658345 100644
|
| --- a/chrome/browser/webdata/autocomplete_syncable_service.cc
|
| +++ b/chrome/browser/webdata/autocomplete_syncable_service.cc
|
| @@ -127,6 +127,11 @@ AutocompleteSyncableService::AutocompleteSyncableService()
|
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::DB));
|
| }
|
|
|
| +void AutocompleteSyncableService::InjectStartSyncFlare(
|
| + const syncer::SyncableService::StartSyncFlare& flare) {
|
| + flare_ = flare;
|
| +}
|
| +
|
| syncer::SyncMergeResult AutocompleteSyncableService::MergeDataAndStartSyncing(
|
| syncer::ModelType type,
|
| const syncer::SyncDataList& initial_sync_data,
|
| @@ -304,12 +309,16 @@ syncer::SyncError AutocompleteSyncableService::ProcessSyncChanges(
|
|
|
| void AutocompleteSyncableService::AutofillEntriesChanged(
|
| const AutofillChangeList& changes) {
|
| - // Check if sync is on. If we receive notification prior to the sync being set
|
| - // up we are going to process all when MergeData..() is called. If we receive
|
| - // notification after the sync exited, it will be sinced next time Chrome
|
| - // starts.
|
| - if (sync_processor_.get())
|
| + // Check if sync is on. If we recieve this notification prior to sync being
|
| + // started, we'll notify sync to start as soon as it can and later process
|
| + // all entries when MergeData..() is called. If we receive this notification
|
| + // sync has exited, it will be synced next time Chrome starts.
|
| + if (sync_processor_.get()) {
|
| ActOnChanges(changes);
|
| + } else if (!flare_.is_null()) {
|
| + flare_.Run(syncer::AUTOFILL);
|
| + flare_.Reset();
|
| + }
|
| }
|
|
|
| bool AutocompleteSyncableService::LoadAutofillData(
|
|
|