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

Side by Side Diff: extensions/common/extension_l10n_util.cc

Issue 598173003: Run clang-modernize -use-nullptr over src/extensions/. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 2 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 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 "extensions/common/extension_l10n_util.h" 5 #include "extensions/common/extension_l10n_util.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <set> 8 #include <set>
9 #include <string> 9 #include <string>
10 #include <vector> 10 #include <vector>
(...skipping 21 matching lines...) Expand all
32 32
33 // Loads contents of the messages file for given locale. If file is not found, 33 // Loads contents of the messages file for given locale. If file is not found,
34 // or there was parsing error we return NULL and set |error|. 34 // or there was parsing error we return NULL and set |error|.
35 // Caller owns the returned object. 35 // Caller owns the returned object.
36 base::DictionaryValue* LoadMessageFile(const base::FilePath& locale_path, 36 base::DictionaryValue* LoadMessageFile(const base::FilePath& locale_path,
37 const std::string& locale, 37 const std::string& locale,
38 std::string* error) { 38 std::string* error) {
39 base::FilePath file = 39 base::FilePath file =
40 locale_path.AppendASCII(locale).Append(extensions::kMessagesFilename); 40 locale_path.AppendASCII(locale).Append(extensions::kMessagesFilename);
41 JSONFileValueSerializer messages_serializer(file); 41 JSONFileValueSerializer messages_serializer(file);
42 base::Value* dictionary = messages_serializer.Deserialize(NULL, error); 42 base::Value* dictionary = messages_serializer.Deserialize(nullptr, error);
43 if (!dictionary) { 43 if (!dictionary) {
44 if (error->empty()) { 44 if (error->empty()) {
45 // JSONFileValueSerializer just returns NULL if file cannot be found. It 45 // JSONFileValueSerializer just returns NULL if file cannot be found. It
46 // doesn't set the error, so we have to do it. 46 // doesn't set the error, so we have to do it.
47 *error = base::StringPrintf("Catalog file is missing for locale %s.", 47 *error = base::StringPrintf("Catalog file is missing for locale %s.",
48 locale.c_str()); 48 locale.c_str());
49 } else { 49 } else {
50 *error = extensions::ErrorUtils::FormatErrorMessage( 50 *error = extensions::ErrorUtils::FormatErrorMessage(
51 errors::kLocalesInvalidLocale, 51 errors::kLocalesInvalidLocale,
52 base::UTF16ToUTF8(file.LossyDisplayName()), 52 base::UTF16ToUTF8(file.LossyDisplayName()),
(...skipping 18 matching lines...) Expand all
71 71
72 manifest->SetString(key, result); 72 manifest->SetString(key, result);
73 return true; 73 return true;
74 } 74 }
75 75
76 // Localizes manifest value of list type for a given key. 76 // Localizes manifest value of list type for a given key.
77 bool LocalizeManifestListValue(const std::string& key, 77 bool LocalizeManifestListValue(const std::string& key,
78 const extensions::MessageBundle& messages, 78 const extensions::MessageBundle& messages,
79 base::DictionaryValue* manifest, 79 base::DictionaryValue* manifest,
80 std::string* error) { 80 std::string* error) {
81 base::ListValue* list = NULL; 81 base::ListValue* list = nullptr;
82 if (!manifest->GetList(key, &list)) 82 if (!manifest->GetList(key, &list))
83 return true; 83 return true;
84 84
85 bool ret = true; 85 bool ret = true;
86 for (size_t i = 0; i < list->GetSize(); ++i) { 86 for (size_t i = 0; i < list->GetSize(); ++i) {
87 std::string result; 87 std::string result;
88 if (list->GetString(i, &result)) { 88 if (list->GetString(i, &result)) {
89 if (messages.ReplaceMessages(&result, error)) 89 if (messages.ReplaceMessages(&result, error))
90 list->Set(i, new base::StringValue(result)); 90 list->Set(i, new base::StringValue(result));
91 else 91 else
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
162 key.assign(keys::kPageAction); 162 key.assign(keys::kPageAction);
163 key.append("."); 163 key.append(".");
164 key.append(keys::kPageActionDefaultTitle); 164 key.append(keys::kPageActionDefaultTitle);
165 if (!LocalizeManifestValue(key, messages, manifest, error)) 165 if (!LocalizeManifestValue(key, messages, manifest, error))
166 return false; 166 return false;
167 167
168 // Initialize omnibox.keyword. 168 // Initialize omnibox.keyword.
169 if (!LocalizeManifestValue(keys::kOmniboxKeyword, messages, manifest, error)) 169 if (!LocalizeManifestValue(keys::kOmniboxKeyword, messages, manifest, error))
170 return false; 170 return false;
171 171
172 base::ListValue* file_handlers = NULL; 172 base::ListValue* file_handlers = nullptr;
173 if (manifest->GetList(keys::kFileBrowserHandlers, &file_handlers)) { 173 if (manifest->GetList(keys::kFileBrowserHandlers, &file_handlers)) {
174 key.assign(keys::kFileBrowserHandlers); 174 key.assign(keys::kFileBrowserHandlers);
175 for (size_t i = 0; i < file_handlers->GetSize(); i++) { 175 for (size_t i = 0; i < file_handlers->GetSize(); i++) {
176 base::DictionaryValue* handler = NULL; 176 base::DictionaryValue* handler = nullptr;
177 if (!file_handlers->GetDictionary(i, &handler)) { 177 if (!file_handlers->GetDictionary(i, &handler)) {
178 *error = errors::kInvalidFileBrowserHandler; 178 *error = errors::kInvalidFileBrowserHandler;
179 return false; 179 return false;
180 } 180 }
181 if (!LocalizeManifestValue( 181 if (!LocalizeManifestValue(
182 keys::kPageActionDefaultTitle, messages, handler, error)) 182 keys::kPageActionDefaultTitle, messages, handler, error))
183 return false; 183 return false;
184 } 184 }
185 } 185 }
186 186
187 // Initialize all input_components 187 // Initialize all input_components
188 base::ListValue* input_components = NULL; 188 base::ListValue* input_components = nullptr;
189 if (manifest->GetList(keys::kInputComponents, &input_components)) { 189 if (manifest->GetList(keys::kInputComponents, &input_components)) {
190 for (size_t i = 0; i < input_components->GetSize(); ++i) { 190 for (size_t i = 0; i < input_components->GetSize(); ++i) {
191 base::DictionaryValue* module = NULL; 191 base::DictionaryValue* module = nullptr;
192 if (!input_components->GetDictionary(i, &module)) { 192 if (!input_components->GetDictionary(i, &module)) {
193 *error = errors::kInvalidInputComponents; 193 *error = errors::kInvalidInputComponents;
194 return false; 194 return false;
195 } 195 }
196 if (!LocalizeManifestValue(keys::kName, messages, module, error)) 196 if (!LocalizeManifestValue(keys::kName, messages, module, error))
197 return false; 197 return false;
198 if (!LocalizeManifestValue(keys::kDescription, messages, module, error)) 198 if (!LocalizeManifestValue(keys::kDescription, messages, module, error))
199 return false; 199 return false;
200 } 200 }
201 } 201 }
202 202
203 // Initialize app.launch.local_path. 203 // Initialize app.launch.local_path.
204 if (!LocalizeManifestValue(keys::kLaunchLocalPath, messages, manifest, error)) 204 if (!LocalizeManifestValue(keys::kLaunchLocalPath, messages, manifest, error))
205 return false; 205 return false;
206 206
207 // Initialize app.launch.web_url. 207 // Initialize app.launch.web_url.
208 if (!LocalizeManifestValue(keys::kLaunchWebURL, messages, manifest, error)) 208 if (!LocalizeManifestValue(keys::kLaunchWebURL, messages, manifest, error))
209 return false; 209 return false;
210 210
211 // Initialize description of commmands. 211 // Initialize description of commmands.
212 base::DictionaryValue* commands_handler = NULL; 212 base::DictionaryValue* commands_handler = nullptr;
213 if (manifest->GetDictionary(keys::kCommands, &commands_handler)) { 213 if (manifest->GetDictionary(keys::kCommands, &commands_handler)) {
214 for (base::DictionaryValue::Iterator iter(*commands_handler); 214 for (base::DictionaryValue::Iterator iter(*commands_handler);
215 !iter.IsAtEnd(); 215 !iter.IsAtEnd();
216 iter.Advance()) { 216 iter.Advance()) {
217 key.assign( 217 key.assign(
218 base::StringPrintf("commands.%s.description", iter.key().c_str())); 218 base::StringPrintf("commands.%s.description", iter.key().c_str()));
219 if (!LocalizeManifestValue(key, messages, manifest, error)) 219 if (!LocalizeManifestValue(key, messages, manifest, error))
220 return false; 220 return false;
221 } 221 }
222 } 222 }
223 223
224 // Initialize search_provider fields. 224 // Initialize search_provider fields.
225 base::DictionaryValue* search_provider = NULL; 225 base::DictionaryValue* search_provider = nullptr;
226 if (manifest->GetDictionary(keys::kOverrideSearchProvider, 226 if (manifest->GetDictionary(keys::kOverrideSearchProvider,
227 &search_provider)) { 227 &search_provider)) {
228 for (base::DictionaryValue::Iterator iter(*search_provider); 228 for (base::DictionaryValue::Iterator iter(*search_provider);
229 !iter.IsAtEnd(); 229 !iter.IsAtEnd();
230 iter.Advance()) { 230 iter.Advance()) {
231 key.assign(base::StringPrintf( 231 key.assign(base::StringPrintf(
232 "%s.%s", keys::kOverrideSearchProvider, iter.key().c_str())); 232 "%s.%s", keys::kOverrideSearchProvider, iter.key().c_str()));
233 bool success = 233 bool success =
234 (key == keys::kSettingsOverrideAlternateUrls) 234 (key == keys::kSettingsOverrideAlternateUrls)
235 ? LocalizeManifestListValue(key, messages, manifest, error) 235 ? LocalizeManifestListValue(key, messages, manifest, error)
(...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after
376 std::vector<linked_ptr<base::DictionaryValue> > catalogs; 376 std::vector<linked_ptr<base::DictionaryValue> > catalogs;
377 for (size_t i = 0; i < all_fallback_locales.size(); ++i) { 377 for (size_t i = 0; i < all_fallback_locales.size(); ++i) {
378 // Skip all parent locales that are not supplied. 378 // Skip all parent locales that are not supplied.
379 if (valid_locales.find(all_fallback_locales[i]) == valid_locales.end()) 379 if (valid_locales.find(all_fallback_locales[i]) == valid_locales.end())
380 continue; 380 continue;
381 linked_ptr<base::DictionaryValue> catalog( 381 linked_ptr<base::DictionaryValue> catalog(
382 LoadMessageFile(locale_path, all_fallback_locales[i], error)); 382 LoadMessageFile(locale_path, all_fallback_locales[i], error));
383 if (!catalog.get()) { 383 if (!catalog.get()) {
384 // If locale is valid, but messages.json is corrupted or missing, return 384 // If locale is valid, but messages.json is corrupted or missing, return
385 // an error. 385 // an error.
386 return NULL; 386 return nullptr;
387 } else { 387 } else {
388 catalogs.push_back(catalog); 388 catalogs.push_back(catalog);
389 } 389 }
390 } 390 }
391 391
392 return extensions::MessageBundle::Create(catalogs, error); 392 return extensions::MessageBundle::Create(catalogs, error);
393 } 393 }
394 394
395 bool ValidateExtensionLocales(const base::FilePath& extension_path, 395 bool ValidateExtensionLocales(const base::FilePath& extension_path,
396 const base::DictionaryValue* manifest, 396 const base::DictionaryValue* manifest,
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
453 ScopedLocaleForTest::ScopedLocaleForTest(const std::string& locale) 453 ScopedLocaleForTest::ScopedLocaleForTest(const std::string& locale)
454 : locale_(extension_l10n_util::CurrentLocaleOrDefault()) { 454 : locale_(extension_l10n_util::CurrentLocaleOrDefault()) {
455 extension_l10n_util::SetProcessLocale(locale); 455 extension_l10n_util::SetProcessLocale(locale);
456 } 456 }
457 457
458 ScopedLocaleForTest::~ScopedLocaleForTest() { 458 ScopedLocaleForTest::~ScopedLocaleForTest() {
459 extension_l10n_util::SetProcessLocale(locale_); 459 extension_l10n_util::SetProcessLocale(locale_);
460 } 460 }
461 461
462 } // namespace extension_l10n_util 462 } // namespace extension_l10n_util
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698