| 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) {
|
|
|