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

Unified Diff: components/search_engines/default_search_pref_migration.cc

Issue 2598033004: Remove old default search preferences. (Closed)
Patch Set: Fixed after review, round 2 Created 3 years, 11 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 side-by-side diff with in-line comments
Download patch
Index: components/search_engines/default_search_pref_migration.cc
diff --git a/components/search_engines/default_search_pref_migration.cc b/components/search_engines/default_search_pref_migration.cc
deleted file mode 100644
index cef04410a286776f60a25f3b2be3f755a89ef2fc..0000000000000000000000000000000000000000
--- a/components/search_engines/default_search_pref_migration.cc
+++ /dev/null
@@ -1,169 +0,0 @@
-// Copyright 2014 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "components/search_engines/default_search_pref_migration.h"
-
-#include <stddef.h>
-#include <stdint.h>
-
-#include <memory>
-
-#include "base/bind.h"
-#include "base/bind_helpers.h"
-#include "base/logging.h"
-#include "base/metrics/histogram_macros.h"
-#include "base/strings/string_number_conversions.h"
-#include "base/strings/string_split.h"
-#include "base/strings/utf_string_conversions.h"
-#include "components/prefs/pref_service.h"
-#include "components/search_engines/default_search_manager.h"
-#include "components/search_engines/search_engines_pref_names.h"
-#include "components/search_engines/template_url_data.h"
-#include "components/search_engines/template_url_service.h"
-#include "url/gurl.h"
-
-namespace {
-
-// Loads the user-selected DSE (if there is one) from legacy preferences.
-std::unique_ptr<TemplateURLData> LoadDefaultSearchProviderFromLegacyPrefs(
- PrefService* prefs) {
- if (!prefs->HasPrefPath(prefs::kDefaultSearchProviderSearchURL) ||
- !prefs->HasPrefPath(prefs::kDefaultSearchProviderKeyword))
- return std::unique_ptr<TemplateURLData>();
-
- const PrefService::Preference* pref =
- prefs->FindPreference(prefs::kDefaultSearchProviderSearchURL);
- DCHECK(pref);
- if (pref->IsManaged())
- return std::unique_ptr<TemplateURLData>();
-
- base::string16 keyword =
- base::UTF8ToUTF16(prefs->GetString(prefs::kDefaultSearchProviderKeyword));
- std::string search_url =
- prefs->GetString(prefs::kDefaultSearchProviderSearchURL);
- if (keyword.empty() || search_url.empty())
- return std::unique_ptr<TemplateURLData>();
-
- std::unique_ptr<TemplateURLData> default_provider_data(new TemplateURLData);
- default_provider_data->SetShortName(
- base::UTF8ToUTF16(prefs->GetString(prefs::kDefaultSearchProviderName)));
- default_provider_data->SetKeyword(keyword);
- default_provider_data->SetURL(search_url);
- default_provider_data->suggestions_url =
- prefs->GetString(prefs::kDefaultSearchProviderSuggestURL);
- default_provider_data->instant_url =
- prefs->GetString(prefs::kDefaultSearchProviderInstantURL);
- default_provider_data->image_url =
- prefs->GetString(prefs::kDefaultSearchProviderImageURL);
- default_provider_data->new_tab_url =
- prefs->GetString(prefs::kDefaultSearchProviderNewTabURL);
- default_provider_data->search_url_post_params =
- prefs->GetString(prefs::kDefaultSearchProviderSearchURLPostParams);
- default_provider_data->suggestions_url_post_params =
- prefs->GetString(prefs::kDefaultSearchProviderSuggestURLPostParams);
- default_provider_data->instant_url_post_params =
- prefs->GetString(prefs::kDefaultSearchProviderInstantURLPostParams);
- default_provider_data->image_url_post_params =
- prefs->GetString(prefs::kDefaultSearchProviderImageURLPostParams);
- default_provider_data->favicon_url =
- GURL(prefs->GetString(prefs::kDefaultSearchProviderIconURL));
- default_provider_data->search_terms_replacement_key =
- prefs->GetString(prefs::kDefaultSearchProviderSearchTermsReplacementKey);
- default_provider_data->input_encodings = base::SplitString(
- prefs->GetString(prefs::kDefaultSearchProviderEncodings),
- ";", base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL);
-
- default_provider_data->alternate_urls.clear();
- const base::ListValue* alternate_urls =
- prefs->GetList(prefs::kDefaultSearchProviderAlternateURLs);
- for (size_t i = 0; i < alternate_urls->GetSize(); ++i) {
- std::string alternate_url;
- if (alternate_urls->GetString(i, &alternate_url))
- default_provider_data->alternate_urls.push_back(alternate_url);
- }
-
- std::string id_string = prefs->GetString(prefs::kDefaultSearchProviderID);
- if (!id_string.empty()) {
- int64_t value;
- base::StringToInt64(id_string, &value);
- default_provider_data->id = value;
- }
-
- std::string prepopulate_id =
- prefs->GetString(prefs::kDefaultSearchProviderPrepopulateID);
- if (!prepopulate_id.empty()) {
- int value;
- base::StringToInt(prepopulate_id, &value);
- default_provider_data->prepopulate_id = value;
- }
-
- return default_provider_data;
-}
-
-void ClearDefaultSearchProviderFromLegacyPrefs(PrefService* prefs) {
- prefs->ClearPref(prefs::kDefaultSearchProviderName);
- prefs->ClearPref(prefs::kDefaultSearchProviderKeyword);
- prefs->ClearPref(prefs::kDefaultSearchProviderSearchURL);
- prefs->ClearPref(prefs::kDefaultSearchProviderSuggestURL);
- prefs->ClearPref(prefs::kDefaultSearchProviderInstantURL);
- prefs->ClearPref(prefs::kDefaultSearchProviderImageURL);
- prefs->ClearPref(prefs::kDefaultSearchProviderNewTabURL);
- prefs->ClearPref(prefs::kDefaultSearchProviderSearchURLPostParams);
- prefs->ClearPref(prefs::kDefaultSearchProviderSuggestURLPostParams);
- prefs->ClearPref(prefs::kDefaultSearchProviderInstantURLPostParams);
- prefs->ClearPref(prefs::kDefaultSearchProviderImageURLPostParams);
- prefs->ClearPref(prefs::kDefaultSearchProviderIconURL);
- prefs->ClearPref(prefs::kDefaultSearchProviderEncodings);
- prefs->ClearPref(prefs::kDefaultSearchProviderPrepopulateID);
- prefs->ClearPref(prefs::kDefaultSearchProviderAlternateURLs);
- prefs->ClearPref(prefs::kDefaultSearchProviderSearchTermsReplacementKey);
-}
-
-void MigrateDefaultSearchPref(PrefService* pref_service) {
- DCHECK(pref_service);
-
- std::unique_ptr<TemplateURLData> legacy_dse_from_prefs =
- LoadDefaultSearchProviderFromLegacyPrefs(pref_service);
- if (!legacy_dse_from_prefs)
- return;
-
- DefaultSearchManager default_search_manager(
- pref_service, DefaultSearchManager::ObserverCallback());
- DefaultSearchManager::Source modern_source;
- TemplateURLData* modern_value =
- default_search_manager.GetDefaultSearchEngine(&modern_source);
- if (modern_source == DefaultSearchManager::FROM_FALLBACK) {
- // |modern_value| is the prepopulated default. If it matches the legacy DSE
- // we assume it is not a user-selected value.
- if (!modern_value ||
- legacy_dse_from_prefs->prepopulate_id != modern_value->prepopulate_id) {
- // This looks like a user-selected value, so let's migrate it.
- // TODO(erikwright): Remove this migration logic when this stat approaches
- // zero.
- UMA_HISTOGRAM_BOOLEAN("Search.MigratedPrefToDictionaryValue", true);
- default_search_manager.SetUserSelectedDefaultSearchEngine(
- *legacy_dse_from_prefs);
- }
- }
-
- ClearDefaultSearchProviderFromLegacyPrefs(pref_service);
-}
-
-void OnPrefsInitialized(PrefService* pref_service,
- bool pref_service_initialization_success) {
- MigrateDefaultSearchPref(pref_service);
-}
-
-} // namespace
-
-void ConfigureDefaultSearchPrefMigrationToDictionaryValue(
- PrefService* pref_service) {
- if (pref_service->GetInitializationStatus() ==
- PrefService::INITIALIZATION_STATUS_WAITING) {
- pref_service->AddPrefInitObserver(
- base::Bind(&OnPrefsInitialized, base::Unretained(pref_service)));
- } else {
- MigrateDefaultSearchPref(pref_service);
- }
-}

Powered by Google App Engine
This is Rietveld 408576698