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

Unified Diff: components/search_engines/template_url_service.cc

Issue 2659353002: Fix TemplateUrl::MatchesData comparison of search_terms_replacement_key (reland) (Closed)
Patch Set: Fixed TemplateUrlService not updating sync guid after Repair Created 3 years, 11 months 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 0e77d27379f265169564fc3bb4cf7eff964c7a4f..0be22bc8a57730c5ae421fa844503681a4f823cf 100644
--- a/components/search_engines/template_url_service.cc
+++ b/components/search_engines/template_url_service.cc
@@ -678,6 +678,7 @@ void TemplateURLService::RepairPrepopulatedSearchEngines() {
base::AutoReset<DefaultSearchChangeOrigin> change_origin(
&dsp_change_origin_, DSP_CHANGE_PROFILE_RESET);
+ DefaultSearchManager::Source old_source = default_search_provider_source_;
default_search_manager_.ClearUserSelectedDefaultSearchEngine();
if (!default_search_provider_) {
@@ -692,7 +693,16 @@ void TemplateURLService::RepairPrepopulatedSearchEngines() {
// ApplyDefaultSearchChange will notify observers once it is done.
ApplyDefaultSearchChange(new_dse, source);
} else {
- NotifyObservers();
+ if (old_source == DefaultSearchManager::FROM_USER &&
Peter Kasting 2017/02/02 00:04:26 Nit: Hoist this up to the parent conditional: i
Alexander Yashkin 2017/02/03 14:44:25 Done
+ default_search_provider_source_ ==
+ DefaultSearchManager::FROM_FALLBACK) {
Peter Kasting 2017/02/02 00:04:26 If the old source was FROM_USER, will the new sour
Alexander Yashkin 2017/02/03 14:44:25 I have kept the old logic here - fallback engine w
Peter Kasting 2017/02/05 05:09:58 I guess the question is whether a user choice can
Alexander Yashkin 2017/02/05 13:57:04 I don't think that we can get from FROM_USER to an
+ // Set fallback engine as user selected, because repair is considered user
Peter Kasting 2017/02/02 00:04:26 Nit: user -> a user
Alexander Yashkin 2017/02/03 14:44:25 Done
+ // action and new engine is expected to sync to other user devices.
Peter Kasting 2017/02/02 00:04:26 Nit: new -> the new; eliminate "user"
Alexander Yashkin 2017/02/03 14:44:25 arghh, this articles, done.
+ default_search_manager_.SetUserSelectedDefaultSearchEngine(
+ default_search_provider_->data());
+ } else {
+ NotifyObservers();
+ }
}
}
@@ -1937,6 +1947,9 @@ bool TemplateURLService::ApplyDefaultSearchChangeNoMetrics(
source == DefaultSearchManager::FROM_POLICY ? data : nullptr);
}
+ // Set new DSE source as current before calling UpdateNoNotify below which
+ // is checking it to update user selected engine.
Peter Kasting 2017/02/02 00:04:26 Nit: Maybe "|default_search_provider_source_| must
Alexander Yashkin 2017/02/03 14:44:25 Done
+ default_search_provider_source_ = source;
Alexander Yashkin 2017/01/30 11:48:32 Problem in https://bugs.chromium.org/p/chromium/is
if (!data) {
default_search_provider_ = nullptr;
} else if (source == DefaultSearchManager::FROM_EXTENSION) {
@@ -1987,11 +2000,8 @@ bool TemplateURLService::ApplyDefaultSearchChangeNoMetrics(
prefs_->SetString(prefs::kSyncedDefaultSearchProviderGUID,
default_search_provider_->sync_guid());
}
-
}
- default_search_provider_source_ = source;
-
bool changed = default_search_provider_ != previous_default_search_engine;
if (changed)
RequestGoogleURLTrackerServerCheckIfNecessary();

Powered by Google App Engine
This is Rietveld 408576698