| Index: chrome/browser/search_engines/template_url_service.cc | 
| diff --git a/chrome/browser/search_engines/template_url_service.cc b/chrome/browser/search_engines/template_url_service.cc | 
| index c8d3e0112e164518feda14702a7fbe1b8b44c7a3..e4c250eac8ac5625220110daff2384f43497b559 100644 | 
| --- a/chrome/browser/search_engines/template_url_service.cc | 
| +++ b/chrome/browser/search_engines/template_url_service.cc | 
| @@ -921,32 +921,34 @@ void TemplateURLService::Observe(int type, | 
| GoogleBaseURLChanged( | 
| content::Details<GoogleURLTracker::UpdatedDetails>(details)->first); | 
| } | 
| -  } else if (type == chrome::NOTIFICATION_PREF_CHANGED) { | 
| -    // Listen for changes to the default search from Sync. | 
| -    DCHECK_EQ(std::string(prefs::kSyncedDefaultSearchProviderGUID), | 
| -              *content::Details<std::string>(details).ptr()); | 
| -    PrefService* prefs = GetPrefs(); | 
| -    TemplateURL* new_default_search = GetTemplateURLForGUID( | 
| -        prefs->GetString(prefs::kSyncedDefaultSearchProviderGUID)); | 
| -    if (new_default_search && !is_default_search_managed_) { | 
| -      if (new_default_search != GetDefaultSearchProvider()) { | 
| -        AutoReset<DefaultSearchChangeOrigin> change_origin( | 
| -            &dsp_change_origin_, DSP_CHANGE_SYNC_PREF); | 
| -        SetDefaultSearchProvider(new_default_search); | 
| -        pending_synced_default_search_ = false; | 
| -      } | 
| -    } else { | 
| -      // If it's not there, or if default search is currently managed, set a | 
| -      // flag to indicate that we waiting on the search engine entry to come | 
| -      // in through Sync. | 
| -      pending_synced_default_search_ = true; | 
| -    } | 
| -    UpdateDefaultSearch(); | 
| } else { | 
| NOTREACHED(); | 
| } | 
| } | 
|  | 
| +void TemplateURLService::OnPreferenceChanged(PrefServiceBase* service, | 
| +                                             const std::string& pref_name) { | 
| +  // Listen for changes to the default search from Sync. | 
| +  DCHECK_EQ(std::string(prefs::kSyncedDefaultSearchProviderGUID), pref_name); | 
| +  PrefService* prefs = GetPrefs(); | 
| +  TemplateURL* new_default_search = GetTemplateURLForGUID( | 
| +      prefs->GetString(prefs::kSyncedDefaultSearchProviderGUID)); | 
| +  if (new_default_search && !is_default_search_managed_) { | 
| +    if (new_default_search != GetDefaultSearchProvider()) { | 
| +      AutoReset<DefaultSearchChangeOrigin> change_origin( | 
| +          &dsp_change_origin_, DSP_CHANGE_SYNC_PREF); | 
| +      SetDefaultSearchProvider(new_default_search); | 
| +      pending_synced_default_search_ = false; | 
| +    } | 
| +  } else { | 
| +    // If it's not there, or if default search is currently managed, set a | 
| +    // flag to indicate that we waiting on the search engine entry to come | 
| +    // in through Sync. | 
| +    pending_synced_default_search_ = true; | 
| +  } | 
| +  UpdateDefaultSearch(); | 
| +} | 
| + | 
| syncer::SyncDataList TemplateURLService::GetAllSyncData( | 
| syncer::ModelType type) const { | 
| DCHECK_EQ(syncer::SEARCH_ENGINES, type); | 
|  |