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

Unified Diff: chrome/browser/search_engines/default_search_policy_handler.cc

Issue 268643002: Use the DefaultSearchManager as the exclusive authority on DSE, ignoring Web Data. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix merge errors. Created 6 years, 7 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: chrome/browser/search_engines/default_search_policy_handler.cc
diff --git a/chrome/browser/search_engines/default_search_policy_handler.cc b/chrome/browser/search_engines/default_search_policy_handler.cc
index b89cec44f55aa2618186269452ac7635b6b320e9..d915a0957730f31c8f1c093dece9c4cb81d42881 100644
--- a/chrome/browser/search_engines/default_search_policy_handler.cc
+++ b/chrome/browser/search_engines/default_search_policy_handler.cc
@@ -228,8 +228,8 @@ bool DefaultSearchPolicyHandler::CheckPolicySettings(const PolicyMap& policies,
return false;
}
-void DefaultSearchPolicyHandler::HandleDictionaryPref(const PolicyMap& policies,
- PrefValueMap* prefs) {
+void DefaultSearchPolicyHandler::ApplyPolicySettings(const PolicyMap& policies,
+ PrefValueMap* prefs) {
if (DefaultSearchProviderIsDisabled(policies)) {
scoped_ptr<base::DictionaryValue> dict(new base::DictionaryValue);
dict->SetBoolean(DefaultSearchManager::kDisabledByPolicy, true);
@@ -300,101 +300,6 @@ void DefaultSearchPolicyHandler::HandleDictionaryPref(const PolicyMap& policies,
DefaultSearchManager::AddPrefValueToMap(dict.release(), prefs);
}
-void DefaultSearchPolicyHandler::ApplyPolicySettings(const PolicyMap& policies,
- PrefValueMap* prefs) {
- HandleDictionaryPref(policies, prefs);
-
- if (DefaultSearchProviderIsDisabled(policies)) {
- prefs->SetBoolean(prefs::kDefaultSearchProviderEnabled, false);
-
- // If default search is disabled, the other fields are ignored.
- prefs->SetString(prefs::kDefaultSearchProviderName, std::string());
- prefs->SetString(prefs::kDefaultSearchProviderSearchURL, std::string());
- prefs->SetString(prefs::kDefaultSearchProviderSuggestURL, std::string());
- prefs->SetString(prefs::kDefaultSearchProviderIconURL, std::string());
- prefs->SetString(prefs::kDefaultSearchProviderEncodings, std::string());
- prefs->SetString(prefs::kDefaultSearchProviderKeyword, std::string());
- prefs->SetString(prefs::kDefaultSearchProviderInstantURL, std::string());
- prefs->SetString(prefs::kDefaultSearchProviderNewTabURL, std::string());
- prefs->SetValue(prefs::kDefaultSearchProviderAlternateURLs,
- new base::ListValue());
- prefs->SetString(
- prefs::kDefaultSearchProviderSearchTermsReplacementKey, std::string());
- prefs->SetString(prefs::kDefaultSearchProviderImageURL, std::string());
- prefs->SetString(
- prefs::kDefaultSearchProviderSearchURLPostParams, std::string());
- prefs->SetString(
- prefs::kDefaultSearchProviderSuggestURLPostParams, std::string());
- prefs->SetString(
- prefs::kDefaultSearchProviderInstantURLPostParams, std::string());
- prefs->SetString(
- prefs::kDefaultSearchProviderImageURLPostParams, std::string());
- } else {
- // The search URL is required. The other entries are optional. Just make
- // sure that they are all specified via policy, so that the regular prefs
- // aren't used.
- const base::Value* dummy;
- std::string url;
- if (DefaultSearchURLIsValid(policies, &dummy, &url)) {
-
- for (std::vector<TypeCheckingPolicyHandler*>::const_iterator handler =
- handlers_.begin();
- handler != handlers_.end(); ++handler) {
- (*handler)->ApplyPolicySettings(policies, prefs);
- }
-
- EnsureStringPrefExists(prefs, prefs::kDefaultSearchProviderSuggestURL);
- EnsureStringPrefExists(prefs, prefs::kDefaultSearchProviderIconURL);
- EnsureStringPrefExists(prefs, prefs::kDefaultSearchProviderEncodings);
- EnsureStringPrefExists(prefs, prefs::kDefaultSearchProviderKeyword);
- EnsureStringPrefExists(prefs, prefs::kDefaultSearchProviderInstantURL);
- EnsureStringPrefExists(prefs, prefs::kDefaultSearchProviderNewTabURL);
- EnsureListPrefExists(prefs, prefs::kDefaultSearchProviderAlternateURLs);
- EnsureStringPrefExists(
- prefs,
- prefs::kDefaultSearchProviderSearchTermsReplacementKey);
- EnsureStringPrefExists(prefs, prefs::kDefaultSearchProviderImageURL);
- EnsureStringPrefExists(
- prefs,
- prefs::kDefaultSearchProviderSearchURLPostParams);
- EnsureStringPrefExists(
- prefs,
- prefs::kDefaultSearchProviderSuggestURLPostParams);
- EnsureStringPrefExists(
- prefs,
- prefs::kDefaultSearchProviderInstantURLPostParams);
- EnsureStringPrefExists(
- prefs,
- prefs::kDefaultSearchProviderImageURLPostParams);
-
- // For the name and keyword, default to the host if not specified. If
- // there is no host (file: URLs? Not sure), use "_" to guarantee that the
- // keyword is non-empty.
- std::string name, keyword;
- std::string host(GURL(url).host());
- if (host.empty())
- host = "_";
- if (!prefs->GetString(prefs::kDefaultSearchProviderName, &name) ||
- name.empty()) {
- prefs->SetString(prefs::kDefaultSearchProviderName, host);
- }
- if (!prefs->GetString(prefs::kDefaultSearchProviderKeyword, &keyword) ||
- keyword.empty()) {
- prefs->SetString(prefs::kDefaultSearchProviderKeyword, host);
- }
-
- // And clear the IDs since these are not specified via policy.
- prefs->SetString(prefs::kDefaultSearchProviderID, std::string());
- prefs->SetString(prefs::kDefaultSearchProviderPrepopulateID,
- std::string());
- }
- }
- content::NotificationService::current()->Notify(
- chrome::NOTIFICATION_DEFAULT_SEARCH_POLICY_CHANGED,
- content::NotificationService::AllSources(),
- content::NotificationService::NoDetails());
-}
-
bool DefaultSearchPolicyHandler::CheckIndividualPolicies(
const PolicyMap& policies,
PolicyErrorMap* errors) {

Powered by Google App Engine
This is Rietveld 408576698