Chromium Code Reviews| Index: components/search_engines/template_url_service.cc |
| diff --git a/components/search_engines/template_url_service.cc b/components/search_engines/template_url_service.cc |
| index 13d8c697d8ffdd7b1c3a660b77343f29650bb6bc..3100e4601fab89cdd88cd1a31fa9cb416413fecd 100644 |
| --- a/components/search_engines/template_url_service.cc |
| +++ b/components/search_engines/template_url_service.cc |
| @@ -484,21 +484,17 @@ TemplateURL* TemplateURLService::AddWithOverrides( |
| TemplateURL* TemplateURLService::AddExtensionControlledTURL( |
| std::unique_ptr<TemplateURL> template_url, |
| std::unique_ptr<TemplateURL::AssociatedExtensionInfo> info) { |
| - DCHECK(loaded_); |
| DCHECK(template_url); |
| DCHECK_EQ(kInvalidTemplateURLID, template_url->id()); |
| DCHECK(info); |
| DCHECK_NE(TemplateURL::NORMAL, template_url->type()); |
| DCHECK( |
| !FindTemplateURLForExtension(info->extension_id, template_url->type())); |
| + |
| template_url->extension_info_.swap(info); |
| - KeywordWebDataService::BatchModeScoper scoper(web_data_service_.get()); |
| TemplateURL* template_url_ptr = AddNoNotify(std::move(template_url), true); |
| if (template_url_ptr) { |
|
Peter Kasting
2016/12/22 20:49:04
Nit: No {}
Alexander Yashkin
2016/12/23 19:44:09
Done
|
| - if (template_url_ptr->extension_info_->wants_to_be_default_engine) { |
| - UpdateExtensionDefaultSearchEngine(); |
| - } |
| NotifyObservers(); |
| } |
| @@ -518,12 +514,10 @@ void TemplateURLService::RemoveExtensionControlledTURL( |
| if (!url) |
| return; |
| // NULL this out so that we can call RemoveNoNotify. |
| - // UpdateExtensionDefaultSearchEngine will cause it to be reset. |
| if (default_search_provider_ == url) |
| default_search_provider_ = nullptr; |
| KeywordWebDataService::BatchModeScoper scoper(web_data_service_.get()); |
|
Peter Kasting
2016/12/22 20:49:04
I don't think we want this scoper anymore?
Alexander Yashkin
2016/12/23 19:44:09
Removed
|
| RemoveNoNotify(url); |
| - UpdateExtensionDefaultSearchEngine(); |
| NotifyObservers(); |
| } |
| @@ -1962,6 +1956,7 @@ bool TemplateURLService::ApplyDefaultSearchChangeNoMetrics( |
| } else if (source == DefaultSearchManager::FROM_EXTENSION) { |
| default_search_provider_ = FindMatchingExtensionTemplateURL( |
| *data, TemplateURL::NORMAL_CONTROLLED_BY_EXTENSION); |
| + DCHECK(default_search_provider_); |
| } else if (source == DefaultSearchManager::FROM_FALLBACK) { |
| default_search_provider_ = |
| FindPrepopulatedTemplateURL(data->prepopulate_id); |
| @@ -2482,25 +2477,3 @@ TemplateURL* TemplateURLService::FindMatchingExtensionTemplateURL( |
| } |
| return nullptr; |
| } |
| - |
| -void TemplateURLService::UpdateExtensionDefaultSearchEngine() { |
| - TemplateURL* most_recently_intalled_default = nullptr; |
| - for (const auto& turl : template_urls_) { |
| - if ((turl->type() == TemplateURL::NORMAL_CONTROLLED_BY_EXTENSION) && |
| - turl->extension_info_->wants_to_be_default_engine && |
| - turl->SupportsReplacement(search_terms_data()) && |
| - (!most_recently_intalled_default || |
| - (most_recently_intalled_default->extension_info_->install_time < |
| - turl->extension_info_->install_time))) |
| - most_recently_intalled_default = turl.get(); |
| - } |
| - |
| - if (most_recently_intalled_default) { |
| - base::AutoReset<DefaultSearchChangeOrigin> change_origin( |
| - &dsp_change_origin_, DSP_CHANGE_OVERRIDE_SETTINGS_EXTENSION); |
| - default_search_manager_.SetExtensionControlledDefaultSearchEngine( |
| - most_recently_intalled_default->data()); |
| - } else { |
| - default_search_manager_.ClearExtensionControlledDefaultSearchEngine(); |
| - } |
| -} |