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

Side by Side 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, 10 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "components/search_engines/template_url_service.h" 5 #include "components/search_engines/template_url_service.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <utility> 8 #include <utility>
9 9
10 #include "base/auto_reset.h" 10 #include "base/auto_reset.h"
(...skipping 660 matching lines...) Expand 10 before | Expand all | Expand 10 after
671 for (std::vector<TemplateURLData>::const_iterator i = 671 for (std::vector<TemplateURLData>::const_iterator i =
672 actions.added_engines.begin(); 672 actions.added_engines.begin();
673 i < actions.added_engines.end(); 673 i < actions.added_engines.end();
674 ++i) { 674 ++i) {
675 AddNoNotify(base::MakeUnique<TemplateURL>(*i), true); 675 AddNoNotify(base::MakeUnique<TemplateURL>(*i), true);
676 } 676 }
677 677
678 base::AutoReset<DefaultSearchChangeOrigin> change_origin( 678 base::AutoReset<DefaultSearchChangeOrigin> change_origin(
679 &dsp_change_origin_, DSP_CHANGE_PROFILE_RESET); 679 &dsp_change_origin_, DSP_CHANGE_PROFILE_RESET);
680 680
681 DefaultSearchManager::Source old_source = default_search_provider_source_;
681 default_search_manager_.ClearUserSelectedDefaultSearchEngine(); 682 default_search_manager_.ClearUserSelectedDefaultSearchEngine();
682 683
683 if (!default_search_provider_) { 684 if (!default_search_provider_) {
684 // If the default search provider came from a user pref we would have been 685 // If the default search provider came from a user pref we would have been
685 // notified of the new (fallback-provided) value in 686 // notified of the new (fallback-provided) value in
686 // ClearUserSelectedDefaultSearchEngine() above. Since we are here, the 687 // ClearUserSelectedDefaultSearchEngine() above. Since we are here, the
687 // value was presumably originally a fallback value (which may have been 688 // value was presumably originally a fallback value (which may have been
688 // repaired). 689 // repaired).
689 DefaultSearchManager::Source source; 690 DefaultSearchManager::Source source;
690 const TemplateURLData* new_dse = 691 const TemplateURLData* new_dse =
691 default_search_manager_.GetDefaultSearchEngine(&source); 692 default_search_manager_.GetDefaultSearchEngine(&source);
692 // ApplyDefaultSearchChange will notify observers once it is done. 693 // ApplyDefaultSearchChange will notify observers once it is done.
693 ApplyDefaultSearchChange(new_dse, source); 694 ApplyDefaultSearchChange(new_dse, source);
694 } else { 695 } else {
695 NotifyObservers(); 696 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
697 default_search_provider_source_ ==
698 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
699 // 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
700 // 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.
701 default_search_manager_.SetUserSelectedDefaultSearchEngine(
702 default_search_provider_->data());
703 } else {
704 NotifyObservers();
705 }
696 } 706 }
697 } 707 }
698 708
699 void TemplateURLService::AddObserver(TemplateURLServiceObserver* observer) { 709 void TemplateURLService::AddObserver(TemplateURLServiceObserver* observer) {
700 model_observers_.AddObserver(observer); 710 model_observers_.AddObserver(observer);
701 } 711 }
702 712
703 void TemplateURLService::RemoveObserver(TemplateURLServiceObserver* observer) { 713 void TemplateURLService::RemoveObserver(TemplateURLServiceObserver* observer) {
704 model_observers_.RemoveObserver(observer); 714 model_observers_.RemoveObserver(observer);
705 } 715 }
(...skipping 1224 matching lines...) Expand 10 before | Expand all | Expand 10 after
1930 KeywordWebDataService::BatchModeScoper scoper(web_data_service_.get()); 1940 KeywordWebDataService::BatchModeScoper scoper(web_data_service_.get());
1931 if (default_search_provider_source_ == DefaultSearchManager::FROM_POLICY || 1941 if (default_search_provider_source_ == DefaultSearchManager::FROM_POLICY ||
1932 source == DefaultSearchManager::FROM_POLICY) { 1942 source == DefaultSearchManager::FROM_POLICY) {
1933 // We do this both to remove any no-longer-applicable policy-defined DSE as 1943 // We do this both to remove any no-longer-applicable policy-defined DSE as
1934 // well as to add the new one, if appropriate. 1944 // well as to add the new one, if appropriate.
1935 UpdateProvidersCreatedByPolicy( 1945 UpdateProvidersCreatedByPolicy(
1936 &template_urls_, 1946 &template_urls_,
1937 source == DefaultSearchManager::FROM_POLICY ? data : nullptr); 1947 source == DefaultSearchManager::FROM_POLICY ? data : nullptr);
1938 } 1948 }
1939 1949
1950 // Set new DSE source as current before calling UpdateNoNotify below which
1951 // 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
1952 default_search_provider_source_ = source;
Alexander Yashkin 2017/01/30 11:48:32 Problem in https://bugs.chromium.org/p/chromium/is
1940 if (!data) { 1953 if (!data) {
1941 default_search_provider_ = nullptr; 1954 default_search_provider_ = nullptr;
1942 } else if (source == DefaultSearchManager::FROM_EXTENSION) { 1955 } else if (source == DefaultSearchManager::FROM_EXTENSION) {
1943 default_search_provider_ = FindMatchingExtensionTemplateURL( 1956 default_search_provider_ = FindMatchingExtensionTemplateURL(
1944 *data, TemplateURL::NORMAL_CONTROLLED_BY_EXTENSION); 1957 *data, TemplateURL::NORMAL_CONTROLLED_BY_EXTENSION);
1945 } else if (source == DefaultSearchManager::FROM_FALLBACK) { 1958 } else if (source == DefaultSearchManager::FROM_FALLBACK) {
1946 default_search_provider_ = 1959 default_search_provider_ =
1947 FindPrepopulatedTemplateURL(data->prepopulate_id); 1960 FindPrepopulatedTemplateURL(data->prepopulate_id);
1948 if (default_search_provider_) { 1961 if (default_search_provider_) {
1949 TemplateURLData update_data(*data); 1962 TemplateURLData update_data(*data);
(...skipping 30 matching lines...) Expand all
1980 std::unique_ptr<TemplateURL> new_dse_ptr = 1993 std::unique_ptr<TemplateURL> new_dse_ptr =
1981 base::MakeUnique<TemplateURL>(new_data); 1994 base::MakeUnique<TemplateURL>(new_data);
1982 TemplateURL* new_dse = new_dse_ptr.get(); 1995 TemplateURL* new_dse = new_dse_ptr.get();
1983 if (AddNoNotify(std::move(new_dse_ptr), true)) 1996 if (AddNoNotify(std::move(new_dse_ptr), true))
1984 default_search_provider_ = new_dse; 1997 default_search_provider_ = new_dse;
1985 } 1998 }
1986 if (default_search_provider_ && prefs_) { 1999 if (default_search_provider_ && prefs_) {
1987 prefs_->SetString(prefs::kSyncedDefaultSearchProviderGUID, 2000 prefs_->SetString(prefs::kSyncedDefaultSearchProviderGUID,
1988 default_search_provider_->sync_guid()); 2001 default_search_provider_->sync_guid());
1989 } 2002 }
1990
1991 } 2003 }
1992 2004
1993 default_search_provider_source_ = source;
1994
1995 bool changed = default_search_provider_ != previous_default_search_engine; 2005 bool changed = default_search_provider_ != previous_default_search_engine;
1996 if (changed) 2006 if (changed)
1997 RequestGoogleURLTrackerServerCheckIfNecessary(); 2007 RequestGoogleURLTrackerServerCheckIfNecessary();
1998 2008
1999 NotifyObservers(); 2009 NotifyObservers();
2000 2010
2001 return changed; 2011 return changed;
2002 } 2012 }
2003 2013
2004 TemplateURL* TemplateURLService::AddNoNotify( 2014 TemplateURL* TemplateURLService::AddNoNotify(
(...skipping 472 matching lines...) Expand 10 before | Expand all | Expand 10 after
2477 2487
2478 if (most_recently_intalled_default) { 2488 if (most_recently_intalled_default) {
2479 base::AutoReset<DefaultSearchChangeOrigin> change_origin( 2489 base::AutoReset<DefaultSearchChangeOrigin> change_origin(
2480 &dsp_change_origin_, DSP_CHANGE_OVERRIDE_SETTINGS_EXTENSION); 2490 &dsp_change_origin_, DSP_CHANGE_OVERRIDE_SETTINGS_EXTENSION);
2481 default_search_manager_.SetExtensionControlledDefaultSearchEngine( 2491 default_search_manager_.SetExtensionControlledDefaultSearchEngine(
2482 most_recently_intalled_default->data()); 2492 most_recently_intalled_default->data());
2483 } else { 2493 } else {
2484 default_search_manager_.ClearExtensionControlledDefaultSearchEngine(); 2494 default_search_manager_.ClearExtensionControlledDefaultSearchEngine();
2485 } 2495 }
2486 } 2496 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698