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..928b5615203cd81153589eaa205e44de404eee22 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,9 @@ 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()); |
+ for (size_t i = 0; i < turl.alternate_urls().size(); ++i) |
+ se_specifics->add_alternate_urls(turl.alternate_urls()[i]); |
Peter Kasting
2012/10/02 21:47:59
Would be nice if we could just call a "set_alterna
beaudoin
2012/10/03 22:46:52
Unfortunately, here is the complete interface gene
|
+ |
return syncer::SyncData::CreateLocalData(se_specifics->sync_guid(), |
se_specifics->keyword(), |
specifics); |
@@ -1360,6 +1364,9 @@ 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.alternate_urls.clear(); |
+ for (int i = 0; i < specifics.alternate_urls_size(); ++i) |
+ data.alternate_urls.push_back(specifics.alternate_urls(i)); |
TemplateURL* turl = new TemplateURL(profile, data); |
DCHECK(!turl->IsExtensionKeyword()); |
@@ -1652,6 +1659,12 @@ void TemplateURLService::SaveDefaultSearchProviderToPrefs( |
prefs->SetString(prefs::kDefaultSearchProviderKeyword, keyword); |
prefs->SetString(prefs::kDefaultSearchProviderID, id_string); |
prefs->SetString(prefs::kDefaultSearchProviderPrepopulateID, prepopulate_id); |
+ ListValue alternate_urls_value; |
Peter Kasting
2012/10/02 21:47:59
Nit: Move this up to with the other temps above, n
beaudoin
2012/10/03 22:46:52
Done.
|
+ if (t_url) { |
+ for (size_t i = 0; i < t_url->alternate_urls().size(); ++i) |
+ alternate_urls_value.AppendString(t_url->alternate_urls()[i]); |
+ } |
+ prefs->Set(prefs::kDefaultSearchProviderAlternateURLs, alternate_urls_value); |
} |
bool TemplateURLService::LoadDefaultSearchProviderFromPrefs( |
@@ -1700,6 +1713,8 @@ bool TemplateURLService::LoadDefaultSearchProviderFromPrefs( |
std::string id_string = prefs->GetString(prefs::kDefaultSearchProviderID); |
std::string prepopulate_id = |
prefs->GetString(prefs::kDefaultSearchProviderPrepopulateID); |
+ const ListValue* alternate_urls = |
+ prefs->GetList(prefs::kDefaultSearchProviderAlternateURLs); |
TemplateURLData data; |
data.short_name = name; |
@@ -1709,6 +1724,12 @@ bool TemplateURLService::LoadDefaultSearchProviderFromPrefs( |
data.instant_url = instant_url; |
data.favicon_url = GURL(icon_url); |
data.show_in_default_list = true; |
+ data.alternate_urls.clear(); |
+ std::string alternate_url; |
Peter Kasting
2012/10/02 21:47:59
Nit: Declare inside loop (the efficiency loss does
beaudoin
2012/10/03 22:46:52
Done.
|
+ for (size_t i = 0; i < alternate_urls->GetSize(); ++i) { |
+ if (alternate_urls->GetString(i, &alternate_url)) |
+ data.alternate_urls.push_back(alternate_url); |
Peter Kasting
2012/10/02 21:47:59
Isn't there some helper already that can return a
beaudoin
2012/10/03 22:46:52
I think the problem is that ListValue does not gua
Peter Kasting
2012/10/03 22:59:33
It's fine to not address this in this CL. We may
|
+ } |
base::SplitString(encodings, ';', &data.input_encodings); |
if (!id_string.empty() && !*is_managed) { |
int64 value; |