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 3d23b03226d0342427b130bc95a3efe13c1d060c..f5eed9ee1ee7de358b02876880fd2547040a8e69 100644 |
--- a/chrome/browser/search_engines/template_url_service.cc |
+++ b/chrome/browser/search_engines/template_url_service.cc |
@@ -85,7 +85,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[] = |
@@ -1301,6 +1302,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); |
@@ -1360,6 +1362,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()); |
@@ -1627,6 +1630,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; |
@@ -1641,6 +1645,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); |
@@ -1652,6 +1657,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( |
@@ -1700,6 +1706,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; |
@@ -1709,6 +1717,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; |