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 b75082390bdc5a2acaace0cad8a21288e22b1eaf..cda6a014594de234e19c4aba77a1b3380ee567ea 100644 |
--- a/chrome/browser/search_engines/template_url_service.cc |
+++ b/chrome/browser/search_engines/template_url_service.cc |
@@ -289,7 +289,8 @@ TemplateURLService::TemplateURLService(Profile* profile) |
models_associated_(false), |
processing_syncer_changes_(false), |
pending_synced_default_search_(false), |
- dsp_change_origin_(DSP_CHANGE_OTHER) { |
+ dsp_change_origin_(DSP_CHANGE_OTHER), |
+ default_search_manager_(new DefaultSearchManager(GetPrefs())) { |
DCHECK(profile_); |
Init(NULL, 0); |
} |
@@ -678,6 +679,12 @@ bool TemplateURLService::CanMakeDefault(const TemplateURL* url) { |
void TemplateURLService::SetUserSelectedDefaultSearchProvider( |
TemplateURL* url) { |
SetDefaultSearchProvider(url); |
+ if (default_search_manager_) { |
+ if (url) |
+ default_search_manager_->SetUserSelectedDefaultSearchEngine(url->data()); |
+ else |
+ default_search_manager_->ClearUserSelectedDefaultSearchEngine(); |
+ } |
} |
TemplateURL* TemplateURLService::GetDefaultSearchProvider() { |