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

Side by Side Diff: components/search_engines/default_search_manager.cc

Issue 2659353002: Fix TemplateUrl::MatchesData comparison of search_terms_replacement_key (reland) (Closed)
Patch Set: Fixed deps 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/default_search_manager.h" 5 #include "components/search_engines/default_search_manager.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <algorithm> 10 #include <algorithm>
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after
116 pref_value_map->SetValue(kDefaultSearchProviderDataPrefName, 116 pref_value_map->SetValue(kDefaultSearchProviderDataPrefName,
117 std::move(value)); 117 std::move(value));
118 } 118 }
119 119
120 // static 120 // static
121 void DefaultSearchManager::SetFallbackSearchEnginesDisabledForTesting( 121 void DefaultSearchManager::SetFallbackSearchEnginesDisabledForTesting(
122 bool disabled) { 122 bool disabled) {
123 g_fallback_search_engines_disabled = disabled; 123 g_fallback_search_engines_disabled = disabled;
124 } 124 }
125 125
126 TemplateURLData* DefaultSearchManager::GetDefaultSearchEngine( 126 const TemplateURLData* DefaultSearchManager::GetDefaultSearchEngine(
127 Source* source) const { 127 Source* source) const {
128 if (default_search_controlled_by_policy_) { 128 if (default_search_controlled_by_policy_) {
129 if (source) 129 if (source)
130 *source = FROM_POLICY; 130 *source = FROM_POLICY;
131 return prefs_default_search_.get(); 131 return prefs_default_search_.get();
132 } 132 }
133 if (extension_default_search_) { 133 if (extension_default_search_) {
134 if (source) 134 if (source)
135 *source = FROM_EXTENSION; 135 *source = FROM_EXTENSION;
136 return extension_default_search_.get(); 136 return extension_default_search_.get();
137 } 137 }
138 if (prefs_default_search_) { 138 if (prefs_default_search_) {
139 if (source) 139 if (source)
140 *source = FROM_USER; 140 *source = FROM_USER;
141 return prefs_default_search_.get(); 141 return prefs_default_search_.get();
142 } 142 }
143 143
144 if (source) 144 if (source)
145 *source = FROM_FALLBACK; 145 *source = FROM_FALLBACK;
146 return g_fallback_search_engines_disabled ? 146 return GetFallbackSearchEngine();
147 NULL : fallback_default_search_.get();
148 } 147 }
149 148
150 DefaultSearchManager::Source 149 DefaultSearchManager::Source
151 DefaultSearchManager::GetDefaultSearchEngineSource() const { 150 DefaultSearchManager::GetDefaultSearchEngineSource() const {
152 Source source; 151 Source source;
153 GetDefaultSearchEngine(&source); 152 GetDefaultSearchEngine(&source);
154 return source; 153 return source;
155 } 154 }
156 155
156 const TemplateURLData* DefaultSearchManager::GetFallbackSearchEngine() const {
157 return g_fallback_search_engines_disabled ? nullptr
158 : fallback_default_search_.get();
159 }
160
157 void DefaultSearchManager::SetUserSelectedDefaultSearchEngine( 161 void DefaultSearchManager::SetUserSelectedDefaultSearchEngine(
158 const TemplateURLData& data) { 162 const TemplateURLData& data) {
159 if (!pref_service_) { 163 if (!pref_service_) {
160 prefs_default_search_.reset(new TemplateURLData(data)); 164 prefs_default_search_.reset(new TemplateURLData(data));
161 MergePrefsDataWithPrepopulated(); 165 MergePrefsDataWithPrepopulated();
162 NotifyObserver(); 166 NotifyObserver();
163 return; 167 return;
164 } 168 }
165 169
166 pref_service_->Set(kDefaultSearchProviderDataPrefName, 170 pref_service_->Set(kDefaultSearchProviderDataPrefName,
(...skipping 30 matching lines...) Expand all
197 // If we were/are FROM_USER or FROM_POLICY the effective DSE may have changed. 201 // If we were/are FROM_USER or FROM_POLICY the effective DSE may have changed.
198 if (source != FROM_USER && source != FROM_POLICY) 202 if (source != FROM_USER && source != FROM_POLICY)
199 source = GetDefaultSearchEngineSource(); 203 source = GetDefaultSearchEngineSource();
200 if (source == FROM_USER || source == FROM_POLICY) 204 if (source == FROM_USER || source == FROM_POLICY)
201 NotifyObserver(); 205 NotifyObserver();
202 } 206 }
203 207
204 void DefaultSearchManager::OnOverridesPrefChanged() { 208 void DefaultSearchManager::OnOverridesPrefChanged() {
205 LoadPrepopulatedDefaultSearch(); 209 LoadPrepopulatedDefaultSearch();
206 210
207 TemplateURLData* effective_data = GetDefaultSearchEngine(NULL); 211 const TemplateURLData* effective_data = GetDefaultSearchEngine(nullptr);
208 if (effective_data && effective_data->prepopulate_id) { 212 if (effective_data && effective_data->prepopulate_id) {
209 // A user-selected, policy-selected or fallback pre-populated engine is 213 // A user-selected, policy-selected or fallback pre-populated engine is
210 // active and may have changed with this event. 214 // active and may have changed with this event.
211 NotifyObserver(); 215 NotifyObserver();
212 } 216 }
213 } 217 }
214 218
215 void DefaultSearchManager::MergePrefsDataWithPrepopulated() { 219 void DefaultSearchManager::MergePrefsDataWithPrepopulated() {
216 if (!prefs_default_search_ || !prefs_default_search_->prepopulate_id) 220 if (!prefs_default_search_ || !prefs_default_search_->prepopulate_id)
217 return; 221 return;
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
273 void DefaultSearchManager::LoadPrepopulatedDefaultSearch() { 277 void DefaultSearchManager::LoadPrepopulatedDefaultSearch() {
274 std::unique_ptr<TemplateURLData> data = 278 std::unique_ptr<TemplateURLData> data =
275 TemplateURLPrepopulateData::GetPrepopulatedDefaultSearch(pref_service_); 279 TemplateURLPrepopulateData::GetPrepopulatedDefaultSearch(pref_service_);
276 fallback_default_search_ = std::move(data); 280 fallback_default_search_ = std::move(data);
277 MergePrefsDataWithPrepopulated(); 281 MergePrefsDataWithPrepopulated();
278 } 282 }
279 283
280 void DefaultSearchManager::NotifyObserver() { 284 void DefaultSearchManager::NotifyObserver() {
281 if (!change_observer_.is_null()) { 285 if (!change_observer_.is_null()) {
282 Source source = FROM_FALLBACK; 286 Source source = FROM_FALLBACK;
283 TemplateURLData* data = GetDefaultSearchEngine(&source); 287 const TemplateURLData* data = GetDefaultSearchEngine(&source);
284 change_observer_.Run(data, source); 288 change_observer_.Run(data, source);
285 } 289 }
286 } 290 }
OLDNEW
« no previous file with comments | « components/search_engines/default_search_manager.h ('k') | components/search_engines/default_search_manager_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698