Chromium Code Reviews| 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; |