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

Side by Side Diff: chrome/browser/search_engines/template_url_service.cc

Issue 231863008: Rename SetDefaultSearchProvider. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase. Created 6 years, 8 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "chrome/browser/search_engines/template_url_service.h" 5 #include "chrome/browser/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 657 matching lines...) Expand 10 before | Expand all | Expand 10 after
668 } 668 }
669 669
670 bool TemplateURLService::CanMakeDefault(const TemplateURL* url) { 670 bool TemplateURLService::CanMakeDefault(const TemplateURL* url) {
671 return !is_default_search_managed() && 671 return !is_default_search_managed() &&
672 !IsExtensionControlledDefaultSearch() && 672 !IsExtensionControlledDefaultSearch() &&
673 (url != GetDefaultSearchProvider()) && 673 (url != GetDefaultSearchProvider()) &&
674 url->url_ref().SupportsReplacement() && 674 url->url_ref().SupportsReplacement() &&
675 (url->GetType() == TemplateURL::NORMAL); 675 (url->GetType() == TemplateURL::NORMAL);
676 } 676 }
677 677
678 void TemplateURLService::SetDefaultSearchProvider(TemplateURL* url) { 678 void TemplateURLService::SetUserSelectedDefaultSearchProvider(
679 DCHECK(!is_default_search_managed_); 679 TemplateURL* url) {
680 // Omnibox keywords cannot be made default. Extension-controlled search 680 SetDefaultSearchProvider(url);
681 // engines can be made default only by the extension itself because they
682 // aren't persisted.
683 DCHECK(!url || (url->GetType() == TemplateURL::NORMAL));
684
685 // Always persist the setting in the database, that way if the backup
686 // signature has changed out from under us it gets reset correctly.
687 if (SetDefaultSearchProviderNoNotify(url))
688 NotifyObservers();
689 } 681 }
690 682
691 TemplateURL* TemplateURLService::GetDefaultSearchProvider() { 683 TemplateURL* TemplateURLService::GetDefaultSearchProvider() {
692 if (loaded_ && !load_failed_) 684 if (loaded_ && !load_failed_)
693 return default_search_provider_; 685 return default_search_provider_;
694 // We're not loaded, rely on the default search provider stored in prefs. 686 // We're not loaded, rely on the default search provider stored in prefs.
695 return initial_default_search_provider_.get(); 687 return initial_default_search_provider_.get();
696 } 688 }
697 689
698 bool TemplateURLService::IsSearchResultsPageFromDefaultSearchProvider( 690 bool TemplateURLService::IsSearchResultsPageFromDefaultSearchProvider(
(...skipping 222 matching lines...) Expand 10 before | Expand all | Expand 10 after
921 913
922 void TemplateURLService::OnSyncedDefaultSearchProviderGUIDChanged() { 914 void TemplateURLService::OnSyncedDefaultSearchProviderGUIDChanged() {
923 // Listen for changes to the default search from Sync. 915 // Listen for changes to the default search from Sync.
924 PrefService* prefs = GetPrefs(); 916 PrefService* prefs = GetPrefs();
925 TemplateURL* new_default_search = GetTemplateURLForGUID( 917 TemplateURL* new_default_search = GetTemplateURLForGUID(
926 prefs->GetString(prefs::kSyncedDefaultSearchProviderGUID)); 918 prefs->GetString(prefs::kSyncedDefaultSearchProviderGUID));
927 if (new_default_search && !is_default_search_managed_) { 919 if (new_default_search && !is_default_search_managed_) {
928 if (new_default_search != GetDefaultSearchProvider()) { 920 if (new_default_search != GetDefaultSearchProvider()) {
929 base::AutoReset<DefaultSearchChangeOrigin> change_origin( 921 base::AutoReset<DefaultSearchChangeOrigin> change_origin(
930 &dsp_change_origin_, DSP_CHANGE_SYNC_PREF); 922 &dsp_change_origin_, DSP_CHANGE_SYNC_PREF);
931 SetDefaultSearchProvider(new_default_search); 923 SetUserSelectedDefaultSearchProvider(new_default_search);
932 pending_synced_default_search_ = false; 924 pending_synced_default_search_ = false;
933 } 925 }
934 } else { 926 } else {
935 // If it's not there, or if default search is currently managed, set a 927 // If it's not there, or if default search is currently managed, set a
936 // flag to indicate that we waiting on the search engine entry to come 928 // flag to indicate that we waiting on the search engine entry to come
937 // in through Sync. 929 // in through Sync.
938 pending_synced_default_search_ = true; 930 pending_synced_default_search_ = true;
939 } 931 }
940 UpdateDefaultSearch(); 932 UpdateDefaultSearch();
941 } 933 }
(...skipping 257 matching lines...) Expand 10 before | Expand all | Expand 10 after
1199 &local_data_map, &merge_result); 1191 &local_data_map, &merge_result);
1200 } 1192 }
1201 } 1193 }
1202 1194
1203 // If there is a pending synced default search provider that was processed 1195 // If there is a pending synced default search provider that was processed
1204 // above, set it now. 1196 // above, set it now.
1205 TemplateURL* pending_default = GetPendingSyncedDefaultSearchProvider(); 1197 TemplateURL* pending_default = GetPendingSyncedDefaultSearchProvider();
1206 if (pending_default) { 1198 if (pending_default) {
1207 base::AutoReset<DefaultSearchChangeOrigin> change_origin( 1199 base::AutoReset<DefaultSearchChangeOrigin> change_origin(
1208 &dsp_change_origin_, DSP_CHANGE_SYNC_ADD); 1200 &dsp_change_origin_, DSP_CHANGE_SYNC_ADD);
1209 SetDefaultSearchProvider(pending_default); 1201 SetUserSelectedDefaultSearchProvider(pending_default);
1210 } 1202 }
1211 1203
1212 // The remaining SyncData in local_data_map should be everything that needs to 1204 // The remaining SyncData in local_data_map should be everything that needs to
1213 // be pushed as ADDs to sync. 1205 // be pushed as ADDs to sync.
1214 for (SyncDataMap::const_iterator iter = local_data_map.begin(); 1206 for (SyncDataMap::const_iterator iter = local_data_map.begin();
1215 iter != local_data_map.end(); ++iter) { 1207 iter != local_data_map.end(); ++iter) {
1216 new_changes.push_back( 1208 new_changes.push_back(
1217 syncer::SyncChange(FROM_HERE, 1209 syncer::SyncChange(FROM_HERE,
1218 syncer::SyncChange::ACTION_ADD, 1210 syncer::SyncChange::ACTION_ADD,
1219 iter->second)); 1211 iter->second));
(...skipping 902 matching lines...) Expand 10 before | Expand all | Expand 10 after
2122 base::AutoReset<DefaultSearchChangeOrigin> change_origin( 2114 base::AutoReset<DefaultSearchChangeOrigin> change_origin(
2123 &dsp_change_origin_, DSP_CHANGE_SYNC_NOT_MANAGED); 2115 &dsp_change_origin_, DSP_CHANGE_SYNC_NOT_MANAGED);
2124 SetDefaultSearchProviderNoNotify(synced_default); 2116 SetDefaultSearchProviderNoNotify(synced_default);
2125 } else { 2117 } else {
2126 SetDefaultSearchProviderNoNotify(FindNewDefaultSearchProvider()); 2118 SetDefaultSearchProviderNoNotify(FindNewDefaultSearchProvider());
2127 } 2119 }
2128 } 2120 }
2129 NotifyObservers(); 2121 NotifyObservers();
2130 } 2122 }
2131 2123
2124 void TemplateURLService::SetDefaultSearchProvider(
2125 TemplateURL* url) {
2126 DCHECK(!is_default_search_managed_);
2127 // Omnibox keywords cannot be made default. Extension-controlled search
2128 // engines can be made default only by the extension itself because they
2129 // aren't persisted.
2130 DCHECK(!url || (url->GetType() == TemplateURL::NORMAL));
2131
2132 // Always persist the setting in the database, that way if the backup
2133 // signature has changed out from under us it gets reset correctly.
2134 if (SetDefaultSearchProviderNoNotify(url))
2135 NotifyObservers();
2136 }
2137
2132 bool TemplateURLService::SetDefaultSearchProviderNoNotify(TemplateURL* url) { 2138 bool TemplateURLService::SetDefaultSearchProviderNoNotify(TemplateURL* url) {
2133 if (url) { 2139 if (url) {
2134 if (std::find(template_urls_.begin(), template_urls_.end(), url) == 2140 if (std::find(template_urls_.begin(), template_urls_.end(), url) ==
2135 template_urls_.end()) 2141 template_urls_.end())
2136 return false; 2142 return false;
2137 // Omnibox keywords cannot be made default. 2143 // Omnibox keywords cannot be made default.
2138 DCHECK_NE(TemplateURL::OMNIBOX_API_EXTENSION, url->GetType()); 2144 DCHECK_NE(TemplateURL::OMNIBOX_API_EXTENSION, url->GetType());
2139 } 2145 }
2140 2146
2141 // Only bother reassigning |url| if it has changed. Notice that we don't just 2147 // Only bother reassigning |url| if it has changed. Notice that we don't just
(...skipping 599 matching lines...) Expand 10 before | Expand all | Expand 10 after
2741 new_dse = *i; 2747 new_dse = *i;
2742 break; 2748 break;
2743 } 2749 }
2744 } 2750 }
2745 } 2751 }
2746 } 2752 }
2747 if (!new_dse) 2753 if (!new_dse)
2748 new_dse = FindNewDefaultSearchProvider(); 2754 new_dse = FindNewDefaultSearchProvider();
2749 SetDefaultSearchProviderNoNotify(new_dse); 2755 SetDefaultSearchProviderNoNotify(new_dse);
2750 } 2756 }
OLDNEW
« no previous file with comments | « chrome/browser/search_engines/template_url_service.h ('k') | chrome/browser/search_engines/template_url_service_android.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698