OLD | NEW |
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_policy_handler.h" | 5 #include "components/search_engines/default_search_policy_handler.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 #include <utility> |
8 | 9 |
9 #include "base/macros.h" | 10 #include "base/macros.h" |
10 #include "base/prefs/pref_value_map.h" | 11 #include "base/prefs/pref_value_map.h" |
11 #include "base/stl_util.h" | 12 #include "base/stl_util.h" |
12 #include "base/strings/string_number_conversions.h" | 13 #include "base/strings/string_number_conversions.h" |
13 #include "base/strings/string_util.h" | 14 #include "base/strings/string_util.h" |
14 #include "components/policy/core/browser/policy_error_map.h" | 15 #include "components/policy/core/browser/policy_error_map.h" |
15 #include "components/policy/core/common/policy_map.h" | 16 #include "components/policy/core/common/policy_map.h" |
16 #include "components/search_engines/default_search_manager.h" | 17 #include "components/search_engines/default_search_manager.h" |
17 #include "components/search_engines/search_engines_pref_names.h" | 18 #include "components/search_engines/search_engines_pref_names.h" |
(...skipping 208 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
226 errors->AddError(key::kDefaultSearchProviderSearchURL, url ? | 227 errors->AddError(key::kDefaultSearchProviderSearchURL, url ? |
227 IDS_POLICY_INVALID_SEARCH_URL_ERROR : IDS_POLICY_NOT_SPECIFIED_ERROR); | 228 IDS_POLICY_INVALID_SEARCH_URL_ERROR : IDS_POLICY_NOT_SPECIFIED_ERROR); |
228 return false; | 229 return false; |
229 } | 230 } |
230 | 231 |
231 void DefaultSearchPolicyHandler::ApplyPolicySettings(const PolicyMap& policies, | 232 void DefaultSearchPolicyHandler::ApplyPolicySettings(const PolicyMap& policies, |
232 PrefValueMap* prefs) { | 233 PrefValueMap* prefs) { |
233 if (DefaultSearchProviderIsDisabled(policies)) { | 234 if (DefaultSearchProviderIsDisabled(policies)) { |
234 scoped_ptr<base::DictionaryValue> dict(new base::DictionaryValue); | 235 scoped_ptr<base::DictionaryValue> dict(new base::DictionaryValue); |
235 dict->SetBoolean(DefaultSearchManager::kDisabledByPolicy, true); | 236 dict->SetBoolean(DefaultSearchManager::kDisabledByPolicy, true); |
236 DefaultSearchManager::AddPrefValueToMap(dict.Pass(), prefs); | 237 DefaultSearchManager::AddPrefValueToMap(std::move(dict), prefs); |
237 return; | 238 return; |
238 } | 239 } |
239 | 240 |
240 // The search URL is required. The other entries are optional. Just make | 241 // The search URL is required. The other entries are optional. Just make |
241 // sure that they are all specified via policy, so that the regular prefs | 242 // sure that they are all specified via policy, so that the regular prefs |
242 // aren't used. | 243 // aren't used. |
243 const base::Value* dummy; | 244 const base::Value* dummy; |
244 std::string url; | 245 std::string url; |
245 if (!DefaultSearchURLIsValid(policies, &dummy, &url)) | 246 if (!DefaultSearchURLIsValid(policies, &dummy, &url)) |
246 return; | 247 return; |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
290 dict->GetString(DefaultSearchManager::kURL, &url); | 291 dict->GetString(DefaultSearchManager::kURL, &url); |
291 | 292 |
292 std::string host(GURL(url).host()); | 293 std::string host(GURL(url).host()); |
293 if (host.empty()) | 294 if (host.empty()) |
294 host = "_"; | 295 host = "_"; |
295 if (name.empty()) | 296 if (name.empty()) |
296 dict->SetString(DefaultSearchManager::kShortName, host); | 297 dict->SetString(DefaultSearchManager::kShortName, host); |
297 if (keyword.empty()) | 298 if (keyword.empty()) |
298 dict->SetString(DefaultSearchManager::kKeyword, host); | 299 dict->SetString(DefaultSearchManager::kKeyword, host); |
299 | 300 |
300 DefaultSearchManager::AddPrefValueToMap(dict.Pass(), prefs); | 301 DefaultSearchManager::AddPrefValueToMap(std::move(dict), prefs); |
301 } | 302 } |
302 | 303 |
303 bool DefaultSearchPolicyHandler::CheckIndividualPolicies( | 304 bool DefaultSearchPolicyHandler::CheckIndividualPolicies( |
304 const PolicyMap& policies, | 305 const PolicyMap& policies, |
305 PolicyErrorMap* errors) { | 306 PolicyErrorMap* errors) { |
306 for (std::vector<TypeCheckingPolicyHandler*>::const_iterator handler = | 307 for (std::vector<TypeCheckingPolicyHandler*>::const_iterator handler = |
307 handlers_.begin(); | 308 handlers_.begin(); |
308 handler != handlers_.end(); ++handler) { | 309 handler != handlers_.end(); ++handler) { |
309 if (!(*handler)->CheckPolicySettings(policies, errors)) | 310 if (!(*handler)->CheckPolicySettings(policies, errors)) |
310 return false; | 311 return false; |
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
363 void DefaultSearchPolicyHandler::EnsureListPrefExists( | 364 void DefaultSearchPolicyHandler::EnsureListPrefExists( |
364 PrefValueMap* prefs, | 365 PrefValueMap* prefs, |
365 const std::string& path) { | 366 const std::string& path) { |
366 base::Value* value; | 367 base::Value* value; |
367 base::ListValue* list_value; | 368 base::ListValue* list_value; |
368 if (!prefs->GetValue(path, &value) || !value->GetAsList(&list_value)) | 369 if (!prefs->GetValue(path, &value) || !value->GetAsList(&list_value)) |
369 prefs->SetValue(path, make_scoped_ptr(new base::ListValue())); | 370 prefs->SetValue(path, make_scoped_ptr(new base::ListValue())); |
370 } | 371 } |
371 | 372 |
372 } // namespace policy | 373 } // namespace policy |
OLD | NEW |