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)); |
} |
} |