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 6c09f91bd65c9ffd82466907c0002fc127964b42..2a421d65a8c6ea509e0dbc62168a9842214919fe 100644 |
--- a/chrome/browser/search_engines/template_url_service.cc |
+++ b/chrome/browser/search_engines/template_url_service.cc |
@@ -427,14 +427,7 @@ base::string16 TemplateURLService::CleanUserInputKeyword( |
} |
// static |
-GURL TemplateURLService::GenerateSearchURL(TemplateURL* t_url) { |
- DCHECK(t_url); |
- UIThreadSearchTermsData search_terms_data(t_url->profile()); |
- return GenerateSearchURLUsingTermsData(t_url, search_terms_data); |
-} |
- |
-// static |
-GURL TemplateURLService::GenerateSearchURLUsingTermsData( |
+GURL TemplateURLService::GenerateSearchURL( |
const TemplateURL* t_url, |
const SearchTermsData& search_terms_data) { |
DCHECK(t_url); |
@@ -613,15 +606,13 @@ TemplateURL* TemplateURLService::GetTemplateURLForGUID( |
TemplateURL* TemplateURLService::GetTemplateURLForHost( |
const std::string& host) { |
- if (loaded_) { |
- TemplateURL* t_url = provider_map_->GetTemplateURLForHost(host); |
- if (t_url) |
- return t_url; |
- } |
- return (!loaded_ && |
- initial_default_search_provider_.get() && |
- (GenerateSearchURL(initial_default_search_provider_.get()).host() == |
- host)) ? initial_default_search_provider_.get() : NULL; |
+ if (loaded_) |
+ return provider_map_->GetTemplateURLForHost(host); |
+ TemplateURL* initial_dsp = initial_default_search_provider_.get(); |
+ if (!initial_dsp) |
+ return NULL; |
+ return (GenerateSearchURL(initial_dsp, search_terms_data()).host() == host) ? |
+ initial_dsp : NULL; |
} |
bool TemplateURLService::Add(TemplateURL* template_url) { |
@@ -632,12 +623,6 @@ bool TemplateURLService::Add(TemplateURL* template_url) { |
return true; |
} |
-void TemplateURLService::AddAndSetProfile(TemplateURL* template_url, |
- Profile* profile) { |
- template_url->profile_ = profile; |
- Add(template_url); |
-} |
- |
void TemplateURLService::AddWithOverrides(TemplateURL* template_url, |
const base::string16& short_name, |
const base::string16& keyword, |
@@ -716,7 +701,8 @@ void TemplateURLService::RemoveAutoGeneratedForOriginBetween( |
template_urls_[i]->date_created() < created_before) && |
CanReplace(template_urls_[i]) && |
(o.is_empty() || |
- GenerateSearchURL(template_urls_[i]).GetOrigin() == o)) { |
+ GenerateSearchURL(template_urls_[i], |
+ search_terms_data()).GetOrigin() == o)) { |
RemoveNoNotify(template_urls_[i]); |
should_notify = true; |
} else { |
@@ -858,7 +844,7 @@ void TemplateURLService::RepairPrepopulatedSearchEngines() { |
for (EditedEngines::iterator i(actions.edited_engines.begin()); |
i < actions.edited_engines.end(); ++i) { |
UIThreadSearchTermsData search_terms_data(profile()); |
- TemplateURL new_values(profile(), i->second); |
+ TemplateURL new_values(i->second); |
UpdateNoNotify(i->first, new_values, search_terms_data); |
} |
@@ -867,7 +853,7 @@ void TemplateURLService::RepairPrepopulatedSearchEngines() { |
actions.added_engines.begin(); |
i < actions.added_engines.end(); |
++i) { |
- AddNoNotify(new TemplateURL(profile_, *i), true); |
+ AddNoNotify(new TemplateURL(*i), true); |
} |
base::AutoReset<DefaultSearchChangeOrigin> change_origin( |
@@ -1104,9 +1090,8 @@ syncer::SyncError TemplateURLService::ProcessSyncChanges( |
base::string16 updated_keyword = UniquifyKeyword(*existing_turl, true); |
TemplateURLData data(existing_turl->data()); |
data.SetKeyword(updated_keyword); |
- TemplateURL new_turl(existing_turl->profile(), data); |
- UIThreadSearchTermsData search_terms_data(existing_turl->profile()); |
- if (UpdateNoNotify(existing_turl, new_turl, search_terms_data)) |
+ TemplateURL new_turl(data); |
+ if (UpdateNoNotify(existing_turl, new_turl, search_terms_data())) |
NotifyObservers(); |
syncer::SyncData sync_data = CreateSyncDataFromTemplateURL(new_turl); |
@@ -1137,7 +1122,7 @@ syncer::SyncError TemplateURLService::ProcessSyncChanges( |
// Force the local ID to kInvalidTemplateURLID so we can add it. |
TemplateURLData data(turl->data()); |
data.id = kInvalidTemplateURLID; |
- TemplateURL* added = new TemplateURL(profile_, data); |
+ TemplateURL* added = new TemplateURL(data); |
if (Add(added)) |
MaybeUpdateDSEAfterSync(added); |
} else if (iter->change_type() == syncer::SyncChange::ACTION_UPDATE) { |
@@ -1153,8 +1138,7 @@ syncer::SyncError TemplateURLService::ProcessSyncChanges( |
ResolveSyncKeywordConflict(turl.get(), existing_keyword_turl, |
&new_changes); |
} |
- UIThreadSearchTermsData search_terms_data(existing_turl->profile()); |
- if (UpdateNoNotify(existing_turl, *turl, search_terms_data)) { |
+ if (UpdateNoNotify(existing_turl, *turl, search_terms_data())) { |
NotifyObservers(); |
MaybeUpdateDSEAfterSync(existing_turl); |
} |
@@ -1253,8 +1237,7 @@ syncer::SyncMergeResult TemplateURLService::MergeDataAndStartSyncing( |
// TemplateURLID and the TemplateURL may have to be reparsed. This |
// also makes the local data's last_modified timestamp equal to Sync's, |
// avoiding an Update on the next MergeData call. |
- UIThreadSearchTermsData search_terms_data(local_turl->profile()); |
- if (UpdateNoNotify(local_turl, *sync_turl, search_terms_data)) |
+ if (UpdateNoNotify(local_turl, *sync_turl, search_terms_data())) |
NotifyObservers(); |
merge_result.set_num_items_modified( |
merge_result.num_items_modified() + 1); |
@@ -1453,7 +1436,7 @@ TemplateURL* TemplateURLService::CreateTemplateURLFromTemplateURLAndSyncData( |
data.alternate_urls.push_back(specifics.alternate_urls(i)); |
data.search_terms_replacement_key = specifics.search_terms_replacement_key(); |
- TemplateURL* turl = new TemplateURL(profile, data); |
+ TemplateURL* turl = new TemplateURL(data); |
UIThreadSearchTermsData search_terms_data(profile); |
// If this TemplateURL matches a built-in prepopulated template URL, it's |
// possible that sync is trying to modify fields that should not be touched. |
@@ -1561,7 +1544,7 @@ void TemplateURLService::Init(const Initializer* initializers, |
data.short_name = base::UTF8ToUTF16(initializers[i].content); |
data.SetKeyword(base::UTF8ToUTF16(initializers[i].keyword)); |
data.SetURL(initializers[i].url); |
- TemplateURL* template_url = new TemplateURL(profile_, data); |
+ TemplateURL* template_url = new TemplateURL(data); |
AddNoNotify(template_url, true); |
// Set the first provided identifier to be the default. |
@@ -1618,8 +1601,7 @@ void TemplateURLService::RemoveFromMaps(TemplateURL* template_url) { |
guid_to_template_map_.erase(template_url->sync_guid()); |
// |provider_map_| is only initialized after loading has completed. |
if (loaded_) { |
- UIThreadSearchTermsData search_terms_data(template_url->profile()); |
- provider_map_->Remove(template_url, search_terms_data); |
+ provider_map_->Remove(template_url, search_terms_data()); |
} |
} |
@@ -1829,7 +1811,7 @@ void TemplateURLService::UpdateTemplateURLIfPrepopulated( |
for (size_t i = 0; i < prepopulated_urls.size(); ++i) { |
if (prepopulated_urls[i]->prepopulate_id == prepopulate_id) { |
MergeIntoPrepopulatedEngineData(template_url, prepopulated_urls[i]); |
- template_url->CopyFrom(TemplateURL(profile, *prepopulated_urls[i])); |
+ template_url->CopyFrom(TemplateURL(*prepopulated_urls[i])); |
} |
} |
} |
@@ -1912,7 +1894,7 @@ void TemplateURLService::GoogleBaseURLChanged(const GURL& old_base_url) { |
i != template_urls_.end(); ++i) { |
TemplateURL* t_url = *i; |
if (t_url->HasGoogleBaseURLs(search_terms_data())) { |
- TemplateURL updated_turl(t_url->profile(), t_url->data()); |
+ TemplateURL updated_turl(t_url->data()); |
updated_turl.ResetKeywordIfNecessary(search_terms_data(), false); |
KeywordToTemplateMap::const_iterator existing_entry = |
keyword_to_template_map_.find(updated_turl.keyword()); |
@@ -1934,7 +1916,7 @@ void TemplateURLService::GoogleBaseURLChanged(const GURL& old_base_url) { |
// need to reset the keyword to an appropriate local value when this |
// change arrives; see CreateTemplateURLFromTemplateURLAndSyncData(). |
UpdateNoNotify(t_url, updated_turl, |
- OldBaseURLSearchTermsData(t_url->profile(), old_base_url.spec())); |
+ OldBaseURLSearchTermsData(profile(), old_base_url.spec())); |
} |
} |
if (something_changed) |
@@ -1987,7 +1969,7 @@ bool TemplateURLService::ApplyDefaultSearchChangeNoMetrics( |
bool changed = TemplateURL::MatchesData( |
initial_default_search_provider_.get(), data, search_terms_data()); |
initial_default_search_provider_.reset( |
- data ? new TemplateURL(profile_, *data) : NULL); |
+ data ? new TemplateURL(*data) : NULL); |
default_search_provider_source_ = source; |
return changed; |
} |
@@ -2031,18 +2013,16 @@ bool TemplateURLService::ApplyDefaultSearchChangeNoMetrics( |
update_data.SetKeyword(default_search_provider_->keyword()); |
update_data.short_name = default_search_provider_->short_name(); |
} |
- UIThreadSearchTermsData search_terms_data( |
- default_search_provider_->profile()); |
UpdateNoNotify(default_search_provider_, |
- TemplateURL(profile_, update_data), |
- search_terms_data); |
+ TemplateURL(update_data), |
+ search_terms_data()); |
} else { |
// Normally the prepopulated fallback should be present in |
// |template_urls_|, but in a few cases it might not be: |
// (1) Tests that initialize the TemplateURLService in peculiar ways. |
// (2) If the user deleted the pre-populated default and we subsequently |
// lost their user-selected value. |
- TemplateURL* new_dse = new TemplateURL(profile_, *data); |
+ TemplateURL* new_dse = new TemplateURL(*data); |
if (AddNoNotify(new_dse, true)) |
default_search_provider_ = new_dse; |
} |
@@ -2055,14 +2035,12 @@ bool TemplateURLService::ApplyDefaultSearchChangeNoMetrics( |
TemplateURLData new_data(*data); |
new_data.show_in_default_list = true; |
if (default_search_provider_) { |
- UIThreadSearchTermsData search_terms_data( |
- default_search_provider_->profile()); |
UpdateNoNotify(default_search_provider_, |
- TemplateURL(profile_, new_data), |
- search_terms_data); |
+ TemplateURL(new_data), |
+ search_terms_data()); |
} else { |
new_data.id = kInvalidTemplateURLID; |
- TemplateURL* new_dse = new TemplateURL(profile_, new_data); |
+ TemplateURL* new_dse = new TemplateURL(new_data); |
if (AddNoNotify(new_dse, true)) |
default_search_provider_ = new_dse; |
} |
@@ -2213,8 +2191,7 @@ bool TemplateURLService::ResetTemplateURLNoNotify( |
} |
data.safe_for_autoreplace = false; |
data.last_modified = time_provider_(); |
- UIThreadSearchTermsData search_terms_data(url->profile()); |
- return UpdateNoNotify(url, TemplateURL(profile_, data), search_terms_data); |
+ return UpdateNoNotify(url, TemplateURL(data), search_terms_data()); |
} |
void TemplateURLService::NotifyObservers() { |
@@ -2272,7 +2249,7 @@ void TemplateURLService::UpdateProvidersCreatedByPolicy( |
if (new_data.sync_guid.empty()) |
new_data.sync_guid = base::GenerateGUID(); |
new_data.created_by_policy = true; |
- TemplateURL* new_dse = new TemplateURL(profile_, new_data); |
+ TemplateURL* new_dse = new TemplateURL(new_data); |
if (AddNoNotify(new_dse, true)) |
default_search_provider_ = new_dse; |
} |
@@ -2285,8 +2262,7 @@ void TemplateURLService::ResetTemplateURLGUID(TemplateURL* url, |
TemplateURLData data(url->data()); |
data.sync_guid = guid; |
- UIThreadSearchTermsData search_terms_data(url->profile()); |
- UpdateNoNotify(url, TemplateURL(profile_, data), search_terms_data); |
+ UpdateNoNotify(url, TemplateURL(data), search_terms_data()); |
} |
base::string16 TemplateURLService::UniquifyKeyword(const TemplateURL& turl, |
@@ -2357,9 +2333,8 @@ void TemplateURLService::ResolveSyncKeywordConflict( |
// Update |applied_sync_turl| in the local model with the new keyword. |
TemplateURLData data(applied_sync_turl->data()); |
data.SetKeyword(new_keyword); |
- UIThreadSearchTermsData search_terms_data(applied_sync_turl->profile()); |
if (UpdateNoNotify( |
- applied_sync_turl, TemplateURL(profile_, data), search_terms_data)) |
+ applied_sync_turl, TemplateURL(data), search_terms_data())) |
NotifyObservers(); |
} |
// The losing TemplateURL should have their keyword updated. Send a change to |
@@ -2432,7 +2407,7 @@ void TemplateURLService::MergeInSyncTemplateURL( |
// Force the local ID to kInvalidTemplateURLID so we can add it. |
TemplateURLData data(sync_turl->data()); |
data.id = kInvalidTemplateURLID; |
- TemplateURL* added = new TemplateURL(profile_, data); |
+ TemplateURL* added = new TemplateURL(data); |
base::AutoReset<DefaultSearchChangeOrigin> change_origin( |
&dsp_change_origin_, DSP_CHANGE_SYNC_ADD); |
if (Add(added)) |
@@ -2494,7 +2469,7 @@ TemplateURL* TemplateURLService::CreateTemplateURLForExtension( |
// ID, as well as forcing the TemplateURL to be treated as a search keyword. |
data.SetURL(std::string(extensions::kExtensionScheme) + "://" + |
extension_keyword.extension_id + "/?q={searchTerms}"); |
- return new TemplateURL(profile_, data); |
+ return new TemplateURL(data); |
} |
TemplateURL* TemplateURLService::FindTemplateURLForExtension( |