| 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 22e2db0b3fa16c320df785db633dc5f7ab4c8bfa..a8201c65cf7744ab71a68ae6694516430939745e 100644
|
| --- a/components/search_engines/template_url_service.cc
|
| +++ b/components/search_engines/template_url_service.cc
|
| @@ -2460,23 +2460,27 @@ TemplateURL* TemplateURLService::FindMatchingExtensionTemplateURL(
|
| }
|
|
|
| void TemplateURLService::UpdateExtensionDefaultSearchEngine() {
|
| - TemplateURL* most_recently_intalled_default = nullptr;
|
| + TemplateURL* most_recently_installed_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 <
|
| + (!most_recently_installed_default ||
|
| + (most_recently_installed_default->extension_info_->install_time <
|
| turl->extension_info_->install_time)))
|
| - most_recently_intalled_default = turl.get();
|
| + most_recently_installed_default = turl.get();
|
| }
|
|
|
| - if (most_recently_intalled_default) {
|
| + if (most_recently_installed_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();
|
| + // Store extension TURL data to default search pref. Default search manager
|
| + // listens to pref changes and will update current default search.
|
| + std::unique_ptr<base::Value> url_dict(
|
| + TemplateUrlDataToDictionary(most_recently_installed_default->data()));
|
| + client_->SetExtensionControlledPref(
|
| + most_recently_installed_default->extension_info_->extension_id,
|
| + DefaultSearchManager::kDefaultSearchProviderDataPrefName,
|
| + std::move(url_dict));
|
| }
|
| }
|
|
|