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

Side by Side Diff: chrome/browser/extensions/api/language_settings_private/language_settings_private_api.cc

Issue 1871713002: Convert //chrome/browser/extensions from scoped_ptr to std::unique_ptr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase and fix header Created 4 years, 8 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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 "chrome/browser/extensions/api/language_settings_private/language_setti ngs_private_api.h" 5 #include "chrome/browser/extensions/api/language_settings_private/language_setti ngs_private_api.h"
6 6
7 #include <map> 7 #include <map>
8 #include <memory>
8 #include <string> 9 #include <string>
9 #include <utility> 10 #include <utility>
10 #include <vector> 11 #include <vector>
11 12
12 #include "base/containers/hash_tables.h" 13 #include "base/containers/hash_tables.h"
13 #include "base/i18n/rtl.h" 14 #include "base/i18n/rtl.h"
14 #include "base/memory/linked_ptr.h" 15 #include "base/memory/linked_ptr.h"
15 #include "base/memory/scoped_ptr.h"
16 #include "base/strings/string16.h" 16 #include "base/strings/string16.h"
17 #include "base/strings/utf_string_conversions.h" 17 #include "base/strings/utf_string_conversions.h"
18 #include "base/values.h" 18 #include "base/values.h"
19 #include "build/build_config.h" 19 #include "build/build_config.h"
20 #include "chrome/browser/browser_process.h" 20 #include "chrome/browser/browser_process.h"
21 #include "chrome/browser/extensions/api/language_settings_private/language_setti ngs_private_delegate.h" 21 #include "chrome/browser/extensions/api/language_settings_private/language_setti ngs_private_delegate.h"
22 #include "chrome/browser/extensions/api/language_settings_private/language_setti ngs_private_delegate_factory.h" 22 #include "chrome/browser/extensions/api/language_settings_private/language_setti ngs_private_delegate_factory.h"
23 #include "chrome/browser/profiles/profile.h" 23 #include "chrome/browser/profiles/profile.h"
24 #include "chrome/browser/spellchecker/spellcheck_factory.h" 24 #include "chrome/browser/spellchecker/spellcheck_factory.h"
25 #include "chrome/browser/spellchecker/spellcheck_service.h" 25 #include "chrome/browser/spellchecker/spellcheck_service.h"
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
64 std::vector<std::string> language_codes; 64 std::vector<std::string> language_codes;
65 l10n_util::GetAcceptLanguagesForLocale(app_locale, &language_codes); 65 l10n_util::GetAcceptLanguagesForLocale(app_locale, &language_codes);
66 66
67 // Map of display name -> {language code, native display name}. 67 // Map of display name -> {language code, native display name}.
68 typedef std::pair<std::string, base::string16> LanguagePair; 68 typedef std::pair<std::string, base::string16> LanguagePair;
69 typedef std::map<base::string16, LanguagePair, 69 typedef std::map<base::string16, LanguagePair,
70 l10n_util::StringComparator<base::string16>> LanguageMap; 70 l10n_util::StringComparator<base::string16>> LanguageMap;
71 71
72 // Collator used to sort display names in the current locale. 72 // Collator used to sort display names in the current locale.
73 UErrorCode error = U_ZERO_ERROR; 73 UErrorCode error = U_ZERO_ERROR;
74 scoped_ptr<icu::Collator> collator(icu::Collator::createInstance( 74 std::unique_ptr<icu::Collator> collator(
75 icu::Locale(app_locale.c_str()), error)); 75 icu::Collator::createInstance(icu::Locale(app_locale.c_str()), error));
76 if (U_FAILURE(error)) 76 if (U_FAILURE(error))
77 collator.reset(); 77 collator.reset();
78 LanguageMap language_map( 78 LanguageMap language_map(
79 l10n_util::StringComparator<base::string16>(collator.get())); 79 l10n_util::StringComparator<base::string16>(collator.get()));
80 80
81 // Build the list of display names and the language map. 81 // Build the list of display names and the language map.
82 for (const auto& code : language_codes) { 82 for (const auto& code : language_codes) {
83 base::string16 display_name = l10n_util::GetDisplayNameForLocale( 83 base::string16 display_name = l10n_util::GetDisplayNameForLocale(
84 code, app_locale, false); 84 code, app_locale, false);
85 base::string16 native_display_name = l10n_util::GetDisplayNameForLocale( 85 base::string16 native_display_name = l10n_util::GetDisplayNameForLocale(
(...skipping 13 matching lines...) Expand all
99 spellcheck_languages.begin(), spellcheck_languages.end()); 99 spellcheck_languages.begin(), spellcheck_languages.end());
100 100
101 // Get the list of translatable languages and convert to a set. 101 // Get the list of translatable languages and convert to a set.
102 std::vector<std::string> translate_languages; 102 std::vector<std::string> translate_languages;
103 translate::TranslateDownloadManager::GetSupportedLanguages( 103 translate::TranslateDownloadManager::GetSupportedLanguages(
104 &translate_languages); 104 &translate_languages);
105 const base::hash_set<std::string> translate_language_set( 105 const base::hash_set<std::string> translate_language_set(
106 translate_languages.begin(), translate_languages.end()); 106 translate_languages.begin(), translate_languages.end());
107 107
108 // Build the language list from the language map. 108 // Build the language list from the language map.
109 scoped_ptr<base::ListValue> language_list(new base::ListValue); 109 std::unique_ptr<base::ListValue> language_list(new base::ListValue);
110 for (const auto& entry : language_map) { 110 for (const auto& entry : language_map) {
111 const base::string16& display_name = entry.first; 111 const base::string16& display_name = entry.first;
112 const LanguagePair& pair = entry.second; 112 const LanguagePair& pair = entry.second;
113 113
114 language_settings_private::Language language; 114 language_settings_private::Language language;
115 language.code = pair.first; 115 language.code = pair.first;
116 116
117 base::string16 adjusted_display_name(display_name); 117 base::string16 adjusted_display_name(display_name);
118 base::i18n::AdjustStringForLocaleDirection(&adjusted_display_name); 118 base::i18n::AdjustStringForLocaleDirection(&adjusted_display_name);
119 language.display_name = base::UTF16ToUTF8(adjusted_display_name); 119 language.display_name = base::UTF16ToUTF8(adjusted_display_name);
(...skipping 22 matching lines...) Expand all
142 LanguageSettingsPrivateSetLanguageListFunction() 142 LanguageSettingsPrivateSetLanguageListFunction()
143 : chrome_details_(this) { 143 : chrome_details_(this) {
144 } 144 }
145 145
146 LanguageSettingsPrivateSetLanguageListFunction:: 146 LanguageSettingsPrivateSetLanguageListFunction::
147 ~LanguageSettingsPrivateSetLanguageListFunction() { 147 ~LanguageSettingsPrivateSetLanguageListFunction() {
148 } 148 }
149 149
150 ExtensionFunction::ResponseAction 150 ExtensionFunction::ResponseAction
151 LanguageSettingsPrivateSetLanguageListFunction::Run() { 151 LanguageSettingsPrivateSetLanguageListFunction::Run() {
152 scoped_ptr<language_settings_private::SetLanguageList::Params> parameters = 152 std::unique_ptr<language_settings_private::SetLanguageList::Params>
153 language_settings_private::SetLanguageList::Params::Create(*args_); 153 parameters =
154 language_settings_private::SetLanguageList::Params::Create(*args_);
154 EXTENSION_FUNCTION_VALIDATE(parameters.get()); 155 EXTENSION_FUNCTION_VALIDATE(parameters.get());
155 156
156 scoped_ptr<translate::TranslatePrefs> translate_prefs = 157 std::unique_ptr<translate::TranslatePrefs> translate_prefs =
157 ChromeTranslateClient::CreateTranslatePrefs( 158 ChromeTranslateClient::CreateTranslatePrefs(
158 chrome_details_.GetProfile()->GetPrefs()); 159 chrome_details_.GetProfile()->GetPrefs());
159 translate_prefs->UpdateLanguageList(parameters->language_codes); 160 translate_prefs->UpdateLanguageList(parameters->language_codes);
160 161
161 return RespondNow(NoArguments()); 162 return RespondNow(NoArguments());
162 } 163 }
163 164
164 LanguageSettingsPrivateGetSpellcheckDictionaryStatusesFunction:: 165 LanguageSettingsPrivateGetSpellcheckDictionaryStatusesFunction::
165 LanguageSettingsPrivateGetSpellcheckDictionaryStatusesFunction() { 166 LanguageSettingsPrivateGetSpellcheckDictionaryStatusesFunction() {
166 } 167 }
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
212 } 213 }
213 214
214 void 215 void
215 LanguageSettingsPrivateGetSpellcheckWordsFunction::OnCustomDictionaryChanged( 216 LanguageSettingsPrivateGetSpellcheckWordsFunction::OnCustomDictionaryChanged(
216 const SpellcheckCustomDictionary::Change& dictionary_change) { 217 const SpellcheckCustomDictionary::Change& dictionary_change) {
217 NOTREACHED() << "SpellcheckCustomDictionary::Observer: " 218 NOTREACHED() << "SpellcheckCustomDictionary::Observer: "
218 "OnCustomDictionaryChanged() called before " 219 "OnCustomDictionaryChanged() called before "
219 "OnCustomDictionaryLoaded()"; 220 "OnCustomDictionaryLoaded()";
220 } 221 }
221 222
222 scoped_ptr<base::ListValue> 223 std::unique_ptr<base::ListValue>
223 LanguageSettingsPrivateGetSpellcheckWordsFunction::GetSpellcheckWords() const { 224 LanguageSettingsPrivateGetSpellcheckWordsFunction::GetSpellcheckWords() const {
224 SpellcheckService* service = 225 SpellcheckService* service =
225 SpellcheckServiceFactory::GetForContext(browser_context()); 226 SpellcheckServiceFactory::GetForContext(browser_context());
226 SpellcheckCustomDictionary* dictionary = service->GetCustomDictionary(); 227 SpellcheckCustomDictionary* dictionary = service->GetCustomDictionary();
227 DCHECK(dictionary->IsLoaded()); 228 DCHECK(dictionary->IsLoaded());
228 229
229 // TODO(michaelpg): Sort using app locale. 230 // TODO(michaelpg): Sort using app locale.
230 scoped_ptr<base::ListValue> word_list(new base::ListValue()); 231 std::unique_ptr<base::ListValue> word_list(new base::ListValue());
231 const std::set<std::string>& words = dictionary->GetWords(); 232 const std::set<std::string>& words = dictionary->GetWords();
232 for (const std::string& word : words) 233 for (const std::string& word : words)
233 word_list->AppendString(word); 234 word_list->AppendString(word);
234 return word_list; 235 return word_list;
235 } 236 }
236 237
237 LanguageSettingsPrivateAddSpellcheckWordFunction:: 238 LanguageSettingsPrivateAddSpellcheckWordFunction::
238 LanguageSettingsPrivateAddSpellcheckWordFunction() { 239 LanguageSettingsPrivateAddSpellcheckWordFunction() {
239 } 240 }
240 241
241 LanguageSettingsPrivateAddSpellcheckWordFunction:: 242 LanguageSettingsPrivateAddSpellcheckWordFunction::
242 ~LanguageSettingsPrivateAddSpellcheckWordFunction() { 243 ~LanguageSettingsPrivateAddSpellcheckWordFunction() {
243 } 244 }
244 245
245 ExtensionFunction::ResponseAction 246 ExtensionFunction::ResponseAction
246 LanguageSettingsPrivateAddSpellcheckWordFunction::Run() { 247 LanguageSettingsPrivateAddSpellcheckWordFunction::Run() {
247 scoped_ptr<language_settings_private::AddSpellcheckWord::Params> params = 248 std::unique_ptr<language_settings_private::AddSpellcheckWord::Params> params =
248 language_settings_private::AddSpellcheckWord::Params::Create(*args_); 249 language_settings_private::AddSpellcheckWord::Params::Create(*args_);
249 EXTENSION_FUNCTION_VALIDATE(params.get()); 250 EXTENSION_FUNCTION_VALIDATE(params.get());
250 251
251 SpellcheckService* service = 252 SpellcheckService* service =
252 SpellcheckServiceFactory::GetForContext(browser_context()); 253 SpellcheckServiceFactory::GetForContext(browser_context());
253 bool success = service->GetCustomDictionary()->AddWord(params->word); 254 bool success = service->GetCustomDictionary()->AddWord(params->word);
254 255
255 return RespondNow(OneArgument(new base::FundamentalValue(success))); 256 return RespondNow(OneArgument(new base::FundamentalValue(success)));
256 } 257 }
257 258
258 LanguageSettingsPrivateRemoveSpellcheckWordFunction:: 259 LanguageSettingsPrivateRemoveSpellcheckWordFunction::
259 LanguageSettingsPrivateRemoveSpellcheckWordFunction() { 260 LanguageSettingsPrivateRemoveSpellcheckWordFunction() {
260 } 261 }
261 262
262 LanguageSettingsPrivateRemoveSpellcheckWordFunction:: 263 LanguageSettingsPrivateRemoveSpellcheckWordFunction::
263 ~LanguageSettingsPrivateRemoveSpellcheckWordFunction() { 264 ~LanguageSettingsPrivateRemoveSpellcheckWordFunction() {
264 } 265 }
265 266
266 ExtensionFunction::ResponseAction 267 ExtensionFunction::ResponseAction
267 LanguageSettingsPrivateRemoveSpellcheckWordFunction::Run() { 268 LanguageSettingsPrivateRemoveSpellcheckWordFunction::Run() {
268 scoped_ptr<language_settings_private::RemoveSpellcheckWord::Params> params = 269 std::unique_ptr<language_settings_private::RemoveSpellcheckWord::Params>
269 language_settings_private::RemoveSpellcheckWord::Params::Create(*args_); 270 params = language_settings_private::RemoveSpellcheckWord::Params::Create(
271 *args_);
270 EXTENSION_FUNCTION_VALIDATE(params.get()); 272 EXTENSION_FUNCTION_VALIDATE(params.get());
271 273
272 SpellcheckService* service = 274 SpellcheckService* service =
273 SpellcheckServiceFactory::GetForContext(browser_context()); 275 SpellcheckServiceFactory::GetForContext(browser_context());
274 bool success = service->GetCustomDictionary()->RemoveWord(params->word); 276 bool success = service->GetCustomDictionary()->RemoveWord(params->word);
275 277
276 return RespondNow(OneArgument(new base::FundamentalValue(success))); 278 return RespondNow(OneArgument(new base::FundamentalValue(success)));
277 } 279 }
278 280
279 LanguageSettingsPrivateGetTranslateTargetLanguageFunction:: 281 LanguageSettingsPrivateGetTranslateTargetLanguageFunction::
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after
383 LanguageSettingsPrivateRemoveInputMethodFunction:: 385 LanguageSettingsPrivateRemoveInputMethodFunction::
384 ~LanguageSettingsPrivateRemoveInputMethodFunction() { 386 ~LanguageSettingsPrivateRemoveInputMethodFunction() {
385 } 387 }
386 388
387 ExtensionFunction::ResponseAction 389 ExtensionFunction::ResponseAction
388 LanguageSettingsPrivateRemoveInputMethodFunction::Run() { 390 LanguageSettingsPrivateRemoveInputMethodFunction::Run() {
389 return RespondNow(OneArgument(new base::FundamentalValue(true))); 391 return RespondNow(OneArgument(new base::FundamentalValue(true)));
390 } 392 }
391 393
392 } // namespace extensions 394 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698