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

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

Issue 2539363004: Make base::Value::TYPE a scoped enum. (Closed)
Patch Set: Rebase Created 4 years 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_policy_handler.h" 5 #include "components/search_engines/default_search_policy_handler.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <utility> 9 #include <utility>
10 10
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
55 dict->SetString(key, str); 55 dict->SetString(key, str);
56 } 56 }
57 57
58 } // namespace 58 } // namespace
59 59
60 // List of policy types to preference names, for policies affecting the default 60 // List of policy types to preference names, for policies affecting the default
61 // search provider. 61 // search provider.
62 const PolicyToPreferenceMapEntry kDefaultSearchPolicyMap[] = { 62 const PolicyToPreferenceMapEntry kDefaultSearchPolicyMap[] = {
63 { key::kDefaultSearchProviderEnabled, 63 { key::kDefaultSearchProviderEnabled,
64 prefs::kDefaultSearchProviderEnabled, 64 prefs::kDefaultSearchProviderEnabled,
65 base::Value::TYPE_BOOLEAN }, 65 base::Value::Type::BOOLEAN },
66 { key::kDefaultSearchProviderName, 66 { key::kDefaultSearchProviderName,
67 prefs::kDefaultSearchProviderName, 67 prefs::kDefaultSearchProviderName,
68 base::Value::TYPE_STRING }, 68 base::Value::Type::STRING },
69 { key::kDefaultSearchProviderKeyword, 69 { key::kDefaultSearchProviderKeyword,
70 prefs::kDefaultSearchProviderKeyword, 70 prefs::kDefaultSearchProviderKeyword,
71 base::Value::TYPE_STRING }, 71 base::Value::Type::STRING },
72 { key::kDefaultSearchProviderSearchURL, 72 { key::kDefaultSearchProviderSearchURL,
73 prefs::kDefaultSearchProviderSearchURL, 73 prefs::kDefaultSearchProviderSearchURL,
74 base::Value::TYPE_STRING }, 74 base::Value::Type::STRING },
75 { key::kDefaultSearchProviderSuggestURL, 75 { key::kDefaultSearchProviderSuggestURL,
76 prefs::kDefaultSearchProviderSuggestURL, 76 prefs::kDefaultSearchProviderSuggestURL,
77 base::Value::TYPE_STRING }, 77 base::Value::Type::STRING },
78 { key::kDefaultSearchProviderInstantURL, 78 { key::kDefaultSearchProviderInstantURL,
79 prefs::kDefaultSearchProviderInstantURL, 79 prefs::kDefaultSearchProviderInstantURL,
80 base::Value::TYPE_STRING }, 80 base::Value::Type::STRING },
81 { key::kDefaultSearchProviderIconURL, 81 { key::kDefaultSearchProviderIconURL,
82 prefs::kDefaultSearchProviderIconURL, 82 prefs::kDefaultSearchProviderIconURL,
83 base::Value::TYPE_STRING }, 83 base::Value::Type::STRING },
84 { key::kDefaultSearchProviderEncodings, 84 { key::kDefaultSearchProviderEncodings,
85 prefs::kDefaultSearchProviderEncodings, 85 prefs::kDefaultSearchProviderEncodings,
86 base::Value::TYPE_LIST }, 86 base::Value::Type::LIST },
87 { key::kDefaultSearchProviderAlternateURLs, 87 { key::kDefaultSearchProviderAlternateURLs,
88 prefs::kDefaultSearchProviderAlternateURLs, 88 prefs::kDefaultSearchProviderAlternateURLs,
89 base::Value::TYPE_LIST }, 89 base::Value::Type::LIST },
90 { key::kDefaultSearchProviderSearchTermsReplacementKey, 90 { key::kDefaultSearchProviderSearchTermsReplacementKey,
91 prefs::kDefaultSearchProviderSearchTermsReplacementKey, 91 prefs::kDefaultSearchProviderSearchTermsReplacementKey,
92 base::Value::TYPE_STRING }, 92 base::Value::Type::STRING },
93 { key::kDefaultSearchProviderImageURL, 93 { key::kDefaultSearchProviderImageURL,
94 prefs::kDefaultSearchProviderImageURL, 94 prefs::kDefaultSearchProviderImageURL,
95 base::Value::TYPE_STRING }, 95 base::Value::Type::STRING },
96 { key::kDefaultSearchProviderNewTabURL, 96 { key::kDefaultSearchProviderNewTabURL,
97 prefs::kDefaultSearchProviderNewTabURL, 97 prefs::kDefaultSearchProviderNewTabURL,
98 base::Value::TYPE_STRING }, 98 base::Value::Type::STRING },
99 { key::kDefaultSearchProviderSearchURLPostParams, 99 { key::kDefaultSearchProviderSearchURLPostParams,
100 prefs::kDefaultSearchProviderSearchURLPostParams, 100 prefs::kDefaultSearchProviderSearchURLPostParams,
101 base::Value::TYPE_STRING }, 101 base::Value::Type::STRING },
102 { key::kDefaultSearchProviderSuggestURLPostParams, 102 { key::kDefaultSearchProviderSuggestURLPostParams,
103 prefs::kDefaultSearchProviderSuggestURLPostParams, 103 prefs::kDefaultSearchProviderSuggestURLPostParams,
104 base::Value::TYPE_STRING }, 104 base::Value::Type::STRING },
105 { key::kDefaultSearchProviderInstantURLPostParams, 105 { key::kDefaultSearchProviderInstantURLPostParams,
106 prefs::kDefaultSearchProviderInstantURLPostParams, 106 prefs::kDefaultSearchProviderInstantURLPostParams,
107 base::Value::TYPE_STRING }, 107 base::Value::Type::STRING },
108 { key::kDefaultSearchProviderImageURLPostParams, 108 { key::kDefaultSearchProviderImageURLPostParams,
109 prefs::kDefaultSearchProviderImageURLPostParams, 109 prefs::kDefaultSearchProviderImageURLPostParams,
110 base::Value::TYPE_STRING }, 110 base::Value::Type::STRING },
111 }; 111 };
112 112
113 // List of policy types to preference names, for policies affecting the default 113 // List of policy types to preference names, for policies affecting the default
114 // search provider. 114 // search provider.
115 const PolicyToPreferenceMapEntry kDefaultSearchPolicyDataMap[] = { 115 const PolicyToPreferenceMapEntry kDefaultSearchPolicyDataMap[] = {
116 {key::kDefaultSearchProviderName, DefaultSearchManager::kShortName, 116 {key::kDefaultSearchProviderName, DefaultSearchManager::kShortName,
117 base::Value::TYPE_STRING}, 117 base::Value::Type::STRING},
118 {key::kDefaultSearchProviderKeyword, DefaultSearchManager::kKeyword, 118 {key::kDefaultSearchProviderKeyword, DefaultSearchManager::kKeyword,
119 base::Value::TYPE_STRING}, 119 base::Value::Type::STRING},
120 {key::kDefaultSearchProviderSearchURL, DefaultSearchManager::kURL, 120 {key::kDefaultSearchProviderSearchURL, DefaultSearchManager::kURL,
121 base::Value::TYPE_STRING}, 121 base::Value::Type::STRING},
122 {key::kDefaultSearchProviderSuggestURL, 122 {key::kDefaultSearchProviderSuggestURL,
123 DefaultSearchManager::kSuggestionsURL, base::Value::TYPE_STRING}, 123 DefaultSearchManager::kSuggestionsURL, base::Value::Type::STRING},
124 {key::kDefaultSearchProviderInstantURL, DefaultSearchManager::kInstantURL, 124 {key::kDefaultSearchProviderInstantURL, DefaultSearchManager::kInstantURL,
125 base::Value::TYPE_STRING}, 125 base::Value::Type::STRING},
126 {key::kDefaultSearchProviderIconURL, DefaultSearchManager::kFaviconURL, 126 {key::kDefaultSearchProviderIconURL, DefaultSearchManager::kFaviconURL,
127 base::Value::TYPE_STRING}, 127 base::Value::Type::STRING},
128 {key::kDefaultSearchProviderEncodings, 128 {key::kDefaultSearchProviderEncodings,
129 DefaultSearchManager::kInputEncodings, base::Value::TYPE_LIST}, 129 DefaultSearchManager::kInputEncodings, base::Value::Type::LIST},
130 {key::kDefaultSearchProviderAlternateURLs, 130 {key::kDefaultSearchProviderAlternateURLs,
131 DefaultSearchManager::kAlternateURLs, base::Value::TYPE_LIST}, 131 DefaultSearchManager::kAlternateURLs, base::Value::Type::LIST},
132 {key::kDefaultSearchProviderSearchTermsReplacementKey, 132 {key::kDefaultSearchProviderSearchTermsReplacementKey,
133 DefaultSearchManager::kSearchTermsReplacementKey, 133 DefaultSearchManager::kSearchTermsReplacementKey,
134 base::Value::TYPE_STRING}, 134 base::Value::Type::STRING},
135 {key::kDefaultSearchProviderImageURL, DefaultSearchManager::kImageURL, 135 {key::kDefaultSearchProviderImageURL, DefaultSearchManager::kImageURL,
136 base::Value::TYPE_STRING}, 136 base::Value::Type::STRING},
137 {key::kDefaultSearchProviderNewTabURL, DefaultSearchManager::kNewTabURL, 137 {key::kDefaultSearchProviderNewTabURL, DefaultSearchManager::kNewTabURL,
138 base::Value::TYPE_STRING}, 138 base::Value::Type::STRING},
139 {key::kDefaultSearchProviderSearchURLPostParams, 139 {key::kDefaultSearchProviderSearchURLPostParams,
140 DefaultSearchManager::kSearchURLPostParams, base::Value::TYPE_STRING}, 140 DefaultSearchManager::kSearchURLPostParams, base::Value::Type::STRING},
141 {key::kDefaultSearchProviderSuggestURLPostParams, 141 {key::kDefaultSearchProviderSuggestURLPostParams,
142 DefaultSearchManager::kSuggestionsURLPostParams, base::Value::TYPE_STRING}, 142 DefaultSearchManager::kSuggestionsURLPostParams,
143 base::Value::Type::STRING},
143 {key::kDefaultSearchProviderInstantURLPostParams, 144 {key::kDefaultSearchProviderInstantURLPostParams,
144 DefaultSearchManager::kInstantURLPostParams, base::Value::TYPE_STRING}, 145 DefaultSearchManager::kInstantURLPostParams, base::Value::Type::STRING},
145 {key::kDefaultSearchProviderImageURLPostParams, 146 {key::kDefaultSearchProviderImageURLPostParams,
146 DefaultSearchManager::kImageURLPostParams, base::Value::TYPE_STRING}, 147 DefaultSearchManager::kImageURLPostParams, base::Value::Type::STRING},
147 }; 148 };
148 149
149 // DefaultSearchEncodingsPolicyHandler implementation -------------------------- 150 // DefaultSearchEncodingsPolicyHandler implementation --------------------------
150 151
151 DefaultSearchEncodingsPolicyHandler::DefaultSearchEncodingsPolicyHandler() 152 DefaultSearchEncodingsPolicyHandler::DefaultSearchEncodingsPolicyHandler()
152 : TypeCheckingPolicyHandler(key::kDefaultSearchProviderEncodings, 153 : TypeCheckingPolicyHandler(key::kDefaultSearchProviderEncodings,
153 base::Value::TYPE_LIST) {} 154 base::Value::Type::LIST) {}
154 155
155 DefaultSearchEncodingsPolicyHandler::~DefaultSearchEncodingsPolicyHandler() { 156 DefaultSearchEncodingsPolicyHandler::~DefaultSearchEncodingsPolicyHandler() {
156 } 157 }
157 158
158 void DefaultSearchEncodingsPolicyHandler::ApplyPolicySettings( 159 void DefaultSearchEncodingsPolicyHandler::ApplyPolicySettings(
159 const PolicyMap& policies, PrefValueMap* prefs) { 160 const PolicyMap& policies, PrefValueMap* prefs) {
160 // The DefaultSearchProviderEncodings policy has type list, but the related 161 // The DefaultSearchProviderEncodings policy has type list, but the related
161 // preference has type string. Convert one into the other here, using 162 // preference has type string. Convert one into the other here, using
162 // ';' as a separator. 163 // ';' as a separator.
163 const base::Value* value = policies.GetValue(policy_name()); 164 const base::Value* value = policies.GetValue(policy_name());
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
240 // aren't used. 241 // aren't used.
241 const base::Value* dummy; 242 const base::Value* dummy;
242 std::string url; 243 std::string url;
243 if (!DefaultSearchURLIsValid(policies, &dummy, &url)) 244 if (!DefaultSearchURLIsValid(policies, &dummy, &url))
244 return; 245 return;
245 246
246 std::unique_ptr<base::DictionaryValue> dict(new base::DictionaryValue); 247 std::unique_ptr<base::DictionaryValue> dict(new base::DictionaryValue);
247 for (size_t i = 0; i < arraysize(kDefaultSearchPolicyDataMap); ++i) { 248 for (size_t i = 0; i < arraysize(kDefaultSearchPolicyDataMap); ++i) {
248 const char* policy_name = kDefaultSearchPolicyDataMap[i].policy_name; 249 const char* policy_name = kDefaultSearchPolicyDataMap[i].policy_name;
249 switch (kDefaultSearchPolicyDataMap[i].value_type) { 250 switch (kDefaultSearchPolicyDataMap[i].value_type) {
250 case base::Value::TYPE_STRING: 251 case base::Value::Type::STRING:
251 SetStringInPref(policies, 252 SetStringInPref(policies,
252 policy_name, 253 policy_name,
253 kDefaultSearchPolicyDataMap[i].preference_path, 254 kDefaultSearchPolicyDataMap[i].preference_path,
254 dict.get()); 255 dict.get());
255 break; 256 break;
256 case base::Value::TYPE_LIST: 257 case base::Value::Type::LIST:
257 SetListInPref(policies, 258 SetListInPref(policies,
258 policy_name, 259 policy_name,
259 kDefaultSearchPolicyDataMap[i].preference_path, 260 kDefaultSearchPolicyDataMap[i].preference_path,
260 dict.get()); 261 dict.get());
261 break; 262 break;
262 default: 263 default:
263 NOTREACHED(); 264 NOTREACHED();
264 break; 265 break;
265 } 266 }
266 } 267 }
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after
359 void DefaultSearchPolicyHandler::EnsureListPrefExists( 360 void DefaultSearchPolicyHandler::EnsureListPrefExists(
360 PrefValueMap* prefs, 361 PrefValueMap* prefs,
361 const std::string& path) { 362 const std::string& path) {
362 base::Value* value; 363 base::Value* value;
363 base::ListValue* list_value; 364 base::ListValue* list_value;
364 if (!prefs->GetValue(path, &value) || !value->GetAsList(&list_value)) 365 if (!prefs->GetValue(path, &value) || !value->GetAsList(&list_value))
365 prefs->SetValue(path, base::MakeUnique<base::ListValue>()); 366 prefs->SetValue(path, base::MakeUnique<base::ListValue>());
366 } 367 }
367 368
368 } // namespace policy 369 } // namespace policy
OLDNEW
« no previous file with comments | « components/safe_json/testing_json_parser_unittest.cc ('k') | components/spellcheck/browser/spelling_service_client.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698