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 576bc50adf6d5b8b1b34e41a7a93f4ef512028d1..6a4eca49243017254b36d0824fe3aac6e5b78892 100644 |
--- a/chrome/browser/search_engines/template_url_service.cc |
+++ b/chrome/browser/search_engines/template_url_service.cc |
@@ -1756,6 +1756,8 @@ bool TemplateURLService::UpdateNoNotify( |
TemplateURLID previous_id = existing_turl->id(); |
existing_turl->CopyFrom(new_values); |
existing_turl->data_.id = previous_id; |
+ UpdatePrepopulatedTemplateURL(existing_turl); |
+ |
UIThreadSearchTermsData new_search_terms_data(profile_); |
provider_map_->Add(existing_turl, new_search_terms_data); |
@@ -1805,6 +1807,22 @@ bool TemplateURLService::UpdateNoNotify( |
return true; |
} |
+void TemplateURLService::UpdatePrepopulatedTemplateURL( |
+ TemplateURL* template_url) { |
+ scoped_ptr<TemplateURL> prepopulated_turl( |
+ TemplateURLPrepopulateData::MakeTemplateURLFromPrepopulateId( |
+ template_url->profile(), template_url->prepopulate_id())); |
+ if (prepopulated_turl.get() != NULL) { |
Peter Kasting
2013/01/30 22:32:33
Nit: You can remove ".get() != NULL" at this point
|
+ TemplateURLID id = template_url->id(); |
+ string16 short_name = template_url->short_name(); |
+ string16 keyword = template_url->keyword(); |
+ template_url->CopyFrom(*prepopulated_turl.get()); |
+ template_url->data_.short_name = short_name; |
+ template_url->data_.SetKeyword(keyword); |
+ template_url->data_.id = id; |
+ } |
+} |
+ |
PrefService* TemplateURLService::GetPrefs() { |
return profile_ ? profile_->GetPrefs() : NULL; |
} |
@@ -2135,7 +2153,7 @@ bool TemplateURLService::SetDefaultSearchProviderNoNotify(TemplateURL* url) { |
bool TemplateURLService::AddNoNotify(TemplateURL* template_url, |
bool newly_adding) { |
DCHECK(template_url); |
- |
+ UpdatePrepopulatedTemplateURL(template_url); |
if (newly_adding) { |
DCHECK_EQ(kInvalidTemplateURLID, template_url->id()); |
DCHECK(std::find(template_urls_.begin(), template_urls_.end(), |