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 598f07bb48f43a4a079b97c0163f2b12cfcb6e76..61b511bd6b03567573227b7123cf356430db7bf2 100644 |
--- a/chrome/browser/search_engines/template_url_service.cc |
+++ b/chrome/browser/search_engines/template_url_service.cc |
@@ -84,7 +84,8 @@ bool TemplateURLsHaveSamePrefs(const TemplateURL* url1, |
(url1->favicon_url() == url2->favicon_url()) && |
(url1->safe_for_autoreplace() == url2->safe_for_autoreplace()) && |
(url1->show_in_default_list() == url2->show_in_default_list()) && |
- (url1->input_encodings() == url2->input_encodings()); |
+ (url1->input_encodings() == url2->input_encodings()) && |
+ (url1->alternate_urls() == url2->alternate_urls()); |
} |
const char kFirstPotentialEngineHistogramName[] = |
@@ -1300,6 +1301,7 @@ syncer::SyncData TemplateURLService::CreateSyncDataFromTemplateURL( |
se_specifics->set_instant_url(turl.instant_url()); |
se_specifics->set_last_modified(turl.last_modified().ToInternalValue()); |
se_specifics->set_sync_guid(turl.sync_guid()); |
+ se_specifics->set_alternate_urls(turl.SerializeAlternateURLs()); |
return syncer::SyncData::CreateLocalData(se_specifics->sync_guid(), |
se_specifics->keyword(), |
specifics); |
@@ -1359,6 +1361,7 @@ TemplateURL* TemplateURLService::CreateTemplateURLFromTemplateURLAndSyncData( |
data.last_modified = base::Time::FromInternalValue(specifics.last_modified()); |
data.prepopulate_id = specifics.prepopulate_id(); |
data.sync_guid = specifics.sync_guid(); |
+ data.DeserializeAndSetAlternateURLs(specifics.alternate_urls()); |
TemplateURL* turl = new TemplateURL(profile, data); |
DCHECK(!turl->IsExtensionKeyword()); |
@@ -1626,6 +1629,7 @@ void TemplateURLService::SaveDefaultSearchProviderToPrefs( |
std::string keyword; |
std::string id_string; |
std::string prepopulate_id; |
+ std::string alternate_urls; |
if (t_url) { |
DCHECK(!t_url->IsExtensionKeyword()); |
enabled = true; |
@@ -1640,6 +1644,7 @@ void TemplateURLService::SaveDefaultSearchProviderToPrefs( |
keyword = UTF16ToUTF8(t_url->keyword()); |
id_string = base::Int64ToString(t_url->id()); |
prepopulate_id = base::Int64ToString(t_url->prepopulate_id()); |
+ alternate_urls = t_url->SerializeAlternateURLs(); |
} |
prefs->SetBoolean(prefs::kDefaultSearchProviderEnabled, enabled); |
prefs->SetString(prefs::kDefaultSearchProviderSearchURL, search_url); |
@@ -1651,6 +1656,7 @@ void TemplateURLService::SaveDefaultSearchProviderToPrefs( |
prefs->SetString(prefs::kDefaultSearchProviderKeyword, keyword); |
prefs->SetString(prefs::kDefaultSearchProviderID, id_string); |
prefs->SetString(prefs::kDefaultSearchProviderPrepopulateID, prepopulate_id); |
+ prefs->SetString(prefs::kDefaultSearchProviderAlternateURLs, alternate_urls); |
} |
bool TemplateURLService::LoadDefaultSearchProviderFromPrefs( |
@@ -1699,6 +1705,8 @@ bool TemplateURLService::LoadDefaultSearchProviderFromPrefs( |
std::string id_string = prefs->GetString(prefs::kDefaultSearchProviderID); |
std::string prepopulate_id = |
prefs->GetString(prefs::kDefaultSearchProviderPrepopulateID); |
+ std::string alternate_urls = |
+ prefs->GetString(prefs::kDefaultSearchProviderAlternateURLs); |
TemplateURLData data; |
data.short_name = name; |
@@ -1708,6 +1716,7 @@ bool TemplateURLService::LoadDefaultSearchProviderFromPrefs( |
data.instant_url = instant_url; |
data.favicon_url = GURL(icon_url); |
data.show_in_default_list = true; |
+ data.DeserializeAndSetAlternateURLs(alternate_urls); |
base::SplitString(encodings, ';', &data.input_encodings); |
if (!id_string.empty() && !*is_managed) { |
int64 value; |