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

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

Issue 2307663002: Remove ScopedVector from search_engines. (Closed)
Patch Set: devlin Created 4 years, 3 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 244 matching lines...) Expand 10 before | Expand all | Expand 10 after
255 // active and may have changed with this event. 255 // active and may have changed with this event.
256 NotifyObserver(); 256 NotifyObserver();
257 } 257 }
258 } 258 }
259 259
260 void DefaultSearchManager::MergePrefsDataWithPrepopulated() { 260 void DefaultSearchManager::MergePrefsDataWithPrepopulated() {
261 if (!prefs_default_search_ || !prefs_default_search_->prepopulate_id) 261 if (!prefs_default_search_ || !prefs_default_search_->prepopulate_id)
262 return; 262 return;
263 263
264 size_t default_search_index; 264 size_t default_search_index;
265 ScopedVector<TemplateURLData> prepopulated_urls = 265 std::vector<std::unique_ptr<TemplateURLData>> prepopulated_urls =
266 TemplateURLPrepopulateData::GetPrepopulatedEngines(pref_service_, 266 TemplateURLPrepopulateData::GetPrepopulatedEngines(pref_service_,
267 &default_search_index); 267 &default_search_index);
268 268
269 for (size_t i = 0; i < prepopulated_urls.size(); ++i) { 269 for (auto& engine : prepopulated_urls) {
270 if (prepopulated_urls[i]->prepopulate_id == 270 if (engine->prepopulate_id != prefs_default_search_->prepopulate_id)
271 prefs_default_search_->prepopulate_id) { 271 continue;
272 if (!prefs_default_search_->safe_for_autoreplace) { 272
273 prepopulated_urls[i]->safe_for_autoreplace = false; 273 if (!prefs_default_search_->safe_for_autoreplace) {
274 prepopulated_urls[i]->SetKeyword(prefs_default_search_->keyword()); 274 engine->safe_for_autoreplace = false;
275 prepopulated_urls[i]->SetShortName(prefs_default_search_->short_name()); 275 engine->SetKeyword(prefs_default_search_->keyword());
276 } 276 engine->SetShortName(prefs_default_search_->short_name());
277 prepopulated_urls[i]->id = prefs_default_search_->id;
278 prepopulated_urls[i]->sync_guid = prefs_default_search_->sync_guid;
279 prepopulated_urls[i]->date_created = prefs_default_search_->date_created;
280 prepopulated_urls[i]->last_modified =
281 prefs_default_search_->last_modified;
282 prefs_default_search_.reset(prepopulated_urls[i]);
283 prepopulated_urls.weak_erase(prepopulated_urls.begin() + i);
284 return;
285 } 277 }
278 engine->id = prefs_default_search_->id;
279 engine->sync_guid = prefs_default_search_->sync_guid;
280 engine->date_created = prefs_default_search_->date_created;
281 engine->last_modified = prefs_default_search_->last_modified;
282
283 prefs_default_search_ = std::move(engine);
284 return;
286 } 285 }
287 } 286 }
288 287
289 void DefaultSearchManager::LoadDefaultSearchEngineFromPrefs() { 288 void DefaultSearchManager::LoadDefaultSearchEngineFromPrefs() {
290 if (!pref_service_) 289 if (!pref_service_)
291 return; 290 return;
292 291
293 prefs_default_search_.reset(); 292 prefs_default_search_.reset();
294 const PrefService::Preference* pref = 293 const PrefService::Preference* pref =
295 pref_service_->FindPreference(kDefaultSearchProviderDataPrefName); 294 pref_service_->FindPreference(kDefaultSearchProviderDataPrefName);
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
410 MergePrefsDataWithPrepopulated(); 409 MergePrefsDataWithPrepopulated();
411 } 410 }
412 411
413 void DefaultSearchManager::NotifyObserver() { 412 void DefaultSearchManager::NotifyObserver() {
414 if (!change_observer_.is_null()) { 413 if (!change_observer_.is_null()) {
415 Source source = FROM_FALLBACK; 414 Source source = FROM_FALLBACK;
416 TemplateURLData* data = GetDefaultSearchEngine(&source); 415 TemplateURLData* data = GetDefaultSearchEngine(&source);
417 change_observer_.Run(data, source); 416 change_observer_.Run(data, source);
418 } 417 }
419 } 418 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698