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

Side by Side Diff: chrome/browser/ui/webui/options/chromeos/cros_language_options_handler.cc

Issue 2392693002: Rewrite simple uses of base::ListValue::Append(base::Value*) on CrOS. (Closed)
Patch Set: MakeUnique Created 4 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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/ui/webui/options/chromeos/cros_language_options_handler .h" 5 #include "chrome/browser/ui/webui/options/chromeos/cros_language_options_handler .h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <memory>
10 #include <utility>
11
9 #include "base/bind.h" 12 #include "base/bind.h"
10 #include "base/bind_helpers.h" 13 #include "base/bind_helpers.h"
14 #include "base/memory/ptr_util.h"
11 #include "base/strings/stringprintf.h" 15 #include "base/strings/stringprintf.h"
12 #include "base/strings/utf_string_conversions.h" 16 #include "base/strings/utf_string_conversions.h"
13 #include "base/values.h" 17 #include "base/values.h"
14 #include "chrome/app/chrome_command_ids.h" 18 #include "chrome/app/chrome_command_ids.h"
15 #include "chrome/browser/chromeos/input_method/input_method_util.h" 19 #include "chrome/browser/chromeos/input_method/input_method_util.h"
16 #include "chrome/browser/chromeos/profiles/profile_helper.h" 20 #include "chrome/browser/chromeos/profiles/profile_helper.h"
17 #include "chrome/browser/extensions/extension_tab_util.h" 21 #include "chrome/browser/extensions/extension_tab_util.h"
18 #include "chrome/browser/lifetime/application_lifetime.h" 22 #include "chrome/browser/lifetime/application_lifetime.h"
19 #include "chrome/browser/profiles/profile.h" 23 #include "chrome/browser/profiles/profile.h"
20 #include "chrome/browser/ui/browser.h" 24 #include "chrome/browser/ui/browser.h"
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
138 manager->GetSupportedInputMethods()); 142 manager->GetSupportedInputMethods());
139 143
140 base::ListValue* input_method_list = new base::ListValue(); 144 base::ListValue* input_method_list = new base::ListValue();
141 145
142 for (size_t i = 0; i < descriptors->size(); ++i) { 146 for (size_t i = 0; i < descriptors->size(); ++i) {
143 const input_method::InputMethodDescriptor& descriptor = 147 const input_method::InputMethodDescriptor& descriptor =
144 (*descriptors)[i]; 148 (*descriptors)[i];
145 const std::string display_name = 149 const std::string display_name =
146 manager->GetInputMethodUtil()->GetInputMethodDisplayNameFromId( 150 manager->GetInputMethodUtil()->GetInputMethodDisplayNameFromId(
147 descriptor.id()); 151 descriptor.id());
148 base::DictionaryValue* dictionary = new base::DictionaryValue(); 152 auto dictionary = base::MakeUnique<base::DictionaryValue>();
149 dictionary->SetString("id", descriptor.id()); 153 dictionary->SetString("id", descriptor.id());
150 dictionary->SetString("displayName", display_name); 154 dictionary->SetString("displayName", display_name);
151 155
152 // One input method can be associated with multiple languages, hence 156 // One input method can be associated with multiple languages, hence
153 // we use a dictionary here. 157 // we use a dictionary here.
154 base::DictionaryValue* languages = new base::DictionaryValue(); 158 base::DictionaryValue* languages = new base::DictionaryValue();
155 for (size_t i = 0; i < descriptor.language_codes().size(); ++i) { 159 for (size_t i = 0; i < descriptor.language_codes().size(); ++i) {
156 languages->SetBoolean(descriptor.language_codes().at(i), true); 160 languages->SetBoolean(descriptor.language_codes().at(i), true);
157 } 161 }
158 dictionary->Set("languageCodeSet", languages); 162 dictionary->Set("languageCodeSet", languages);
159 163
160 input_method_list->Append(dictionary); 164 input_method_list->Append(std::move(dictionary));
161 } 165 }
162 166
163 return input_method_list; 167 return input_method_list;
164 } 168 }
165 169
166 base::ListValue* 170 base::ListValue*
167 CrosLanguageOptionsHandler::ConvertInputMethodDescriptorsToIMEList( 171 CrosLanguageOptionsHandler::ConvertInputMethodDescriptorsToIMEList(
168 const input_method::InputMethodDescriptors& descriptors) { 172 const input_method::InputMethodDescriptors& descriptors) {
169 input_method::InputMethodUtil* util = 173 input_method::InputMethodUtil* util =
170 input_method::InputMethodManager::Get()->GetInputMethodUtil(); 174 input_method::InputMethodManager::Get()->GetInputMethodUtil();
171 std::unique_ptr<base::ListValue> ime_ids_list(new base::ListValue()); 175 std::unique_ptr<base::ListValue> ime_ids_list(new base::ListValue());
172 for (size_t i = 0; i < descriptors.size(); ++i) { 176 for (size_t i = 0; i < descriptors.size(); ++i) {
173 const input_method::InputMethodDescriptor& descriptor = descriptors[i]; 177 const input_method::InputMethodDescriptor& descriptor = descriptors[i];
174 std::unique_ptr<base::DictionaryValue> dictionary( 178 std::unique_ptr<base::DictionaryValue> dictionary(
175 new base::DictionaryValue()); 179 new base::DictionaryValue());
176 dictionary->SetString("id", descriptor.id()); 180 dictionary->SetString("id", descriptor.id());
177 dictionary->SetString( 181 dictionary->SetString(
178 "displayName", util->GetLocalizedDisplayName(descriptor)); 182 "displayName", util->GetLocalizedDisplayName(descriptor));
179 dictionary->SetString("optionsPage", descriptor.options_page_url().spec()); 183 dictionary->SetString("optionsPage", descriptor.options_page_url().spec());
180 std::unique_ptr<base::DictionaryValue> language_codes( 184 std::unique_ptr<base::DictionaryValue> language_codes(
181 new base::DictionaryValue()); 185 new base::DictionaryValue());
182 for (size_t i = 0; i < descriptor.language_codes().size(); ++i) 186 for (size_t i = 0; i < descriptor.language_codes().size(); ++i)
183 language_codes->SetBoolean(descriptor.language_codes().at(i), true); 187 language_codes->SetBoolean(descriptor.language_codes().at(i), true);
184 dictionary->Set("languageCodeSet", language_codes.release()); 188 dictionary->Set("languageCodeSet", language_codes.release());
185 ime_ids_list->Append(dictionary.release()); 189 ime_ids_list->Append(std::move(dictionary));
186 } 190 }
187 return ime_ids_list.release(); 191 return ime_ids_list.release();
188 } 192 }
189 193
190 void CrosLanguageOptionsHandler::SetApplicationLocale( 194 void CrosLanguageOptionsHandler::SetApplicationLocale(
191 const std::string& language_code) { 195 const std::string& language_code) {
192 Profile* profile = Profile::FromWebUI(web_ui()); 196 Profile* profile = Profile::FromWebUI(web_ui());
193 user_manager::UserManager* user_manager = user_manager::UserManager::Get(); 197 user_manager::UserManager* user_manager = user_manager::UserManager::Get();
194 198
195 // Secondary users and public session users cannot change the locale. 199 // Secondary users and public session users cannot change the locale.
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
265 extension_ime_util::GetExtensionIDFromInputMethodID(input_method_id); 269 extension_ime_util::GetExtensionIDFromInputMethodID(input_method_id);
266 const extensions::Extension* extension = 270 const extensions::Extension* extension =
267 enabled_extensions.GetByID(extension_id); 271 enabled_extensions.GetByID(extension_id);
268 if (extension) 272 if (extension)
269 entry->SetString("extensionName", extension->name()); 273 entry->SetString("extensionName", extension->name());
270 } 274 }
271 } 275 }
272 276
273 } // namespace options 277 } // namespace options
274 } // namespace chromeos 278 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698