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 8f9f277de112ba564c95b8432560e34a862ea921..b75082390bdc5a2acaace0cad8a21288e22b1eaf 100644 |
--- a/chrome/browser/search_engines/template_url_service.cc |
+++ b/chrome/browser/search_engines/template_url_service.cc |
@@ -675,17 +675,9 @@ bool TemplateURLService::CanMakeDefault(const TemplateURL* url) { |
(url->GetType() == TemplateURL::NORMAL); |
} |
-void TemplateURLService::SetDefaultSearchProvider(TemplateURL* url) { |
- DCHECK(!is_default_search_managed_); |
- // Omnibox keywords cannot be made default. Extension-controlled search |
- // engines can be made default only by the extension itself because they |
- // aren't persisted. |
- DCHECK(!url || (url->GetType() == TemplateURL::NORMAL)); |
- |
- // Always persist the setting in the database, that way if the backup |
- // signature has changed out from under us it gets reset correctly. |
- if (SetDefaultSearchProviderNoNotify(url)) |
- NotifyObservers(); |
+void TemplateURLService::SetUserSelectedDefaultSearchProvider( |
+ TemplateURL* url) { |
+ SetDefaultSearchProvider(url); |
} |
TemplateURL* TemplateURLService::GetDefaultSearchProvider() { |
@@ -928,7 +920,7 @@ void TemplateURLService::OnSyncedDefaultSearchProviderGUIDChanged() { |
if (new_default_search != GetDefaultSearchProvider()) { |
base::AutoReset<DefaultSearchChangeOrigin> change_origin( |
&dsp_change_origin_, DSP_CHANGE_SYNC_PREF); |
- SetDefaultSearchProvider(new_default_search); |
+ SetUserSelectedDefaultSearchProvider(new_default_search); |
pending_synced_default_search_ = false; |
} |
} else { |
@@ -1206,7 +1198,7 @@ syncer::SyncMergeResult TemplateURLService::MergeDataAndStartSyncing( |
if (pending_default) { |
base::AutoReset<DefaultSearchChangeOrigin> change_origin( |
&dsp_change_origin_, DSP_CHANGE_SYNC_ADD); |
- SetDefaultSearchProvider(pending_default); |
+ SetUserSelectedDefaultSearchProvider(pending_default); |
} |
// The remaining SyncData in local_data_map should be everything that needs to |
@@ -2129,6 +2121,20 @@ void TemplateURLService::UpdateDefaultSearch() { |
NotifyObservers(); |
} |
+void TemplateURLService::SetDefaultSearchProvider( |
+ TemplateURL* url) { |
+ DCHECK(!is_default_search_managed_); |
+ // Omnibox keywords cannot be made default. Extension-controlled search |
+ // engines can be made default only by the extension itself because they |
+ // aren't persisted. |
+ DCHECK(!url || (url->GetType() == TemplateURL::NORMAL)); |
+ |
+ // Always persist the setting in the database, that way if the backup |
+ // signature has changed out from under us it gets reset correctly. |
+ if (SetDefaultSearchProviderNoNotify(url)) |
+ NotifyObservers(); |
+} |
+ |
bool TemplateURLService::SetDefaultSearchProviderNoNotify(TemplateURL* url) { |
if (url) { |
if (std::find(template_urls_.begin(), template_urls_.end(), url) == |