OLD | NEW |
---|---|
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 653 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
664 i < actions.added_engines.end(); | 664 i < actions.added_engines.end(); |
665 ++i) { | 665 ++i) { |
666 AddNoNotify(base::MakeUnique<TemplateURL>(*i), true); | 666 AddNoNotify(base::MakeUnique<TemplateURL>(*i), true); |
667 } | 667 } |
668 | 668 |
669 base::AutoReset<DefaultSearchChangeOrigin> change_origin( | 669 base::AutoReset<DefaultSearchChangeOrigin> change_origin( |
670 &dsp_change_origin_, DSP_CHANGE_PROFILE_RESET); | 670 &dsp_change_origin_, DSP_CHANGE_PROFILE_RESET); |
671 | 671 |
672 default_search_manager_.ClearUserSelectedDefaultSearchEngine(); | 672 default_search_manager_.ClearUserSelectedDefaultSearchEngine(); |
673 | 673 |
674 if (!default_search_provider_) { | 674 if (default_search_provider_) { |
675 // If the default search provider came from a user pref we would have been | |
676 // notified of the new (fallback-provided) value in | |
677 // ClearUserSelectedDefaultSearchEngine() above. Since we are here, the | |
678 // value was presumably originally a fallback value (which may have been | |
679 // repaired). | |
680 DefaultSearchManager::Source source; | |
681 const TemplateURLData* new_dse = | |
682 default_search_manager_.GetDefaultSearchEngine(&source); | |
683 // ApplyDefaultSearchChange will notify observers once it is done. | |
684 ApplyDefaultSearchChange(new_dse, source); | |
685 } else { | |
686 // Set fallback engine as user selected, because repair is considered a user | 675 // Set fallback engine as user selected, because repair is considered a user |
687 // action and we are expected to sync new fallback engine to other devices. | 676 // action and we are expected to sync new fallback engine to other devices. |
688 const TemplateURLData* fallback_engine_data = | 677 const TemplateURLData* fallback_engine_data = |
689 default_search_manager_.GetFallbackSearchEngine(); | 678 default_search_manager_.GetFallbackSearchEngine(); |
690 if (fallback_engine_data) { | 679 if (fallback_engine_data) { |
691 TemplateURL* fallback_engine = | 680 TemplateURL* fallback_engine = |
692 FindPrepopulatedTemplateURL(fallback_engine_data->prepopulate_id); | 681 FindPrepopulatedTemplateURL(fallback_engine_data->prepopulate_id); |
693 // The fallback engine is created from built-in/override data that should | 682 // The fallback engine is created from built-in/override data that should |
694 // always have a prepopulate ID, so this engine should always exist after | 683 // always have a prepopulate ID, so this engine should always exist after |
695 // a repair. | 684 // a repair. |
696 DCHECK(fallback_engine); | 685 DCHECK(fallback_engine); |
697 // Write the fallback engine's GUID to prefs, which will cause | 686 // Write the fallback engine's GUID to prefs, which will cause |
698 // OnSyncedDefaultSearchProviderGUIDChanged() to set it as the new | 687 // OnSyncedDefaultSearchProviderGUIDChanged() to set it as the new |
699 // user-selected engine. | 688 // user-selected engine. |
700 prefs_->SetString(prefs::kSyncedDefaultSearchProviderGUID, | 689 prefs_->SetString(prefs::kSyncedDefaultSearchProviderGUID, |
701 fallback_engine->sync_guid()); | 690 fallback_engine->sync_guid()); |
702 } | 691 } |
703 NotifyObservers(); | 692 NotifyObservers(); |
693 RequestGoogleURLTrackerServerCheckIfNecessary(); | |
vasilii
2017/04/06 09:33:17
There is a behavior change here. ProfileResetter c
Peter Kasting
2017/04/06 09:43:26
I missed that.
Why did the old code set force=tru
| |
694 } else { | |
695 // If the default search provider came from a user pref we would have been | |
696 // notified of the new (fallback-provided) value in | |
697 // ClearUserSelectedDefaultSearchEngine() above. Since we are here, the | |
698 // value was presumably originally a fallback value (which may have been | |
699 // repaired). | |
700 DefaultSearchManager::Source source; | |
701 const TemplateURLData* new_dse = | |
702 default_search_manager_.GetDefaultSearchEngine(&source); | |
703 // ApplyDefaultSearchChange will notify observers once it is done. | |
704 ApplyDefaultSearchChange(new_dse, source); | |
704 } | 705 } |
705 } | 706 } |
706 | 707 |
707 void TemplateURLService::AddObserver(TemplateURLServiceObserver* observer) { | 708 void TemplateURLService::AddObserver(TemplateURLServiceObserver* observer) { |
708 model_observers_.AddObserver(observer); | 709 model_observers_.AddObserver(observer); |
709 } | 710 } |
710 | 711 |
711 void TemplateURLService::RemoveObserver(TemplateURLServiceObserver* observer) { | 712 void TemplateURLService::RemoveObserver(TemplateURLServiceObserver* observer) { |
712 model_observers_.RemoveObserver(observer); | 713 model_observers_.RemoveObserver(observer); |
713 } | 714 } |
(...skipping 1800 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
2514 if (keyword_to_template_url.find(template_url->keyword()) != | 2515 if (keyword_to_template_url.find(template_url->keyword()) != |
2515 keyword_to_template_url.end()) { | 2516 keyword_to_template_url.end()) { |
2516 return true; | 2517 return true; |
2517 } | 2518 } |
2518 keyword_to_template_url[template_url->keyword()] = template_url.get(); | 2519 keyword_to_template_url[template_url->keyword()] = template_url.get(); |
2519 } | 2520 } |
2520 } | 2521 } |
2521 return false; | 2522 return false; |
2522 } | 2523 } |
2523 #endif | 2524 #endif |
OLD | NEW |