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

Unified Diff: components/search_engines/template_url_service.cc

Issue 2479113002: Make extensions DSE persistent in browser prefs (Closed)
Patch Set: Created 4 years, 1 month 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: 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));
}
}

Powered by Google App Engine
This is Rietveld 408576698