| Index: chrome/browser/prefs/pref_model_associator.cc
|
| diff --git a/chrome/browser/prefs/pref_model_associator.cc b/chrome/browser/prefs/pref_model_associator.cc
|
| index 21c53a294155661c19ca6e6a27da3de931ef30d4..b70302a825f0e87aa57f4a4ec31bbe639ae8cbc1 100644
|
| --- a/chrome/browser/prefs/pref_model_associator.cc
|
| +++ b/chrome/browser/prefs/pref_model_associator.cc
|
| @@ -22,14 +22,12 @@ using syncable::PREFERENCES;
|
| PrefModelAssociator::PrefModelAssociator()
|
| : models_associated_(false),
|
| processing_syncer_changes_(false),
|
| - pref_service_(NULL),
|
| - sync_processor_(NULL) {
|
| + pref_service_(NULL) {
|
| DCHECK(CalledOnValidThread());
|
| }
|
|
|
| PrefModelAssociator::~PrefModelAssociator() {
|
| DCHECK(CalledOnValidThread());
|
| - sync_processor_ = NULL;
|
| pref_service_ = NULL;
|
| }
|
|
|
| @@ -109,12 +107,13 @@ void PrefModelAssociator::InitPrefAndAssociate(
|
| SyncError PrefModelAssociator::MergeDataAndStartSyncing(
|
| syncable::ModelType type,
|
| const SyncDataList& initial_sync_data,
|
| - SyncChangeProcessor* sync_processor) {
|
| + scoped_ptr<SyncChangeProcessor> sync_processor) {
|
| DCHECK_EQ(type, PREFERENCES);
|
| DCHECK(CalledOnValidThread());
|
| DCHECK(pref_service_);
|
| - DCHECK(!sync_processor_);
|
| - sync_processor_ = sync_processor;
|
| + DCHECK(!sync_processor_.get());
|
| + DCHECK(sync_processor.get());
|
| + sync_processor_ = sync_processor.Pass();
|
|
|
| SyncChangeList new_changes;
|
| std::set<std::string> remaining_preferences = registered_preferences_;
|
| @@ -161,7 +160,7 @@ SyncError PrefModelAssociator::MergeDataAndStartSyncing(
|
| void PrefModelAssociator::StopSyncing(syncable::ModelType type) {
|
| DCHECK_EQ(type, PREFERENCES);
|
| models_associated_ = false;
|
| - sync_processor_ = NULL;
|
| + sync_processor_.reset();
|
| }
|
|
|
| Value* PrefModelAssociator::MergePreference(
|
| @@ -425,8 +424,6 @@ void PrefModelAssociator::ProcessPrefChange(const std::string& name) {
|
|
|
| SyncError error =
|
| sync_processor_->ProcessSyncChanges(FROM_HERE, changes);
|
| - if (error.IsSet())
|
| - StopSyncing(PREFERENCES);
|
| }
|
|
|
| void PrefModelAssociator::SetPrefService(PrefService* pref_service) {
|
|
|