Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(9)

Unified Diff: chrome/browser/search_engines/template_url_service.cc

Issue 10908226: Introduces a search term extraction mechanism working for arbitrary search providers. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fixed keyword_table_unittest Created 8 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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]);
+
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;
+ 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;
+ for (size_t i = 0; i < alternate_urls->GetSize(); ++i) {
+ if (alternate_urls->GetString(i, &alternate_url))
+ data.alternate_urls.push_back(alternate_url);
+ }
base::SplitString(encodings, ';', &data.input_encodings);
if (!id_string.empty() && !*is_managed) {
int64 value;

Powered by Google App Engine
This is Rietveld 408576698