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

Side by Side Diff: chrome/browser/ui/webui/chromeos/login/l10n_util.cc

Issue 1715683002: chrome: Use base's ContainsValue helper function instead of std::find (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Removing non ContainsValue changes Created 4 years, 9 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 "chrome/browser/ui/webui/chromeos/login/l10n_util.h" 5 #include "chrome/browser/ui/webui/chromeos/login/l10n_util.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <algorithm>
10 #include <iterator> 9 #include <iterator>
11 #include <map> 10 #include <map>
12 #include <set> 11 #include <set>
13 #include <utility> 12 #include <utility>
14 13
15 #include "base/bind.h" 14 #include "base/bind.h"
16 #include "base/i18n/rtl.h" 15 #include "base/i18n/rtl.h"
17 #include "base/location.h" 16 #include "base/location.h"
18 #include "base/logging.h" 17 #include "base/logging.h"
19 #include "base/memory/ref_counted.h" 18 #include "base/memory/ref_counted.h"
20 #include "base/sequenced_task_runner.h" 19 #include "base/sequenced_task_runner.h"
20 #include "base/stl_util.h"
21 #include "base/strings/string16.h" 21 #include "base/strings/string16.h"
22 #include "base/strings/stringprintf.h" 22 #include "base/strings/stringprintf.h"
23 #include "base/strings/utf_string_conversions.h" 23 #include "base/strings/utf_string_conversions.h"
24 #include "base/task_runner_util.h" 24 #include "base/task_runner_util.h"
25 #include "base/threading/sequenced_worker_pool.h" 25 #include "base/threading/sequenced_worker_pool.h"
26 #include "base/values.h" 26 #include "base/values.h"
27 #include "chrome/browser/browser_process.h" 27 #include "chrome/browser/browser_process.h"
28 #include "chrome/browser/chromeos/customization/customization_document.h" 28 #include "chrome/browser/chromeos/customization/customization_document.h"
29 #include "chrome/browser/chromeos/input_method/input_method_util.h" 29 #include "chrome/browser/chromeos/input_method/input_method_util.h"
30 #include "chrome/browser/chromeos/profiles/profile_helper.h" 30 #include "chrome/browser/chromeos/profiles/profile_helper.h"
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after
146 for (std::map<std::string, int>::const_iterator it = language_index.begin(); 146 for (std::map<std::string, int>::const_iterator it = language_index.begin();
147 it != language_index.end(); ++it) { 147 it != language_index.end(); ++it) {
148 const std::string& language_id = it->first; 148 const std::string& language_id = it->first;
149 149
150 const std::string lang = l10n_util::GetLanguage(language_id); 150 const std::string lang = l10n_util::GetLanguage(language_id);
151 151
152 // Ignore non-specific codes. 152 // Ignore non-specific codes.
153 if (lang.empty() || lang == language_id) 153 if (lang.empty() || lang == language_id)
154 continue; 154 continue;
155 155
156 if (std::find(base_language_codes.begin(), 156 if (ContainsValue(base_language_codes, language_id)) {
157 base_language_codes.end(),
158 language_id) != base_language_codes.end()) {
159 // Language is supported. No need to replace 157 // Language is supported. No need to replace
160 continue; 158 continue;
161 } 159 }
162 std::string resolved_locale; 160 std::string resolved_locale;
163 if (!l10n_util::CheckAndResolveLocale(language_id, &resolved_locale)) 161 if (!l10n_util::CheckAndResolveLocale(language_id, &resolved_locale))
164 continue; 162 continue;
165 163
166 if (std::find(base_language_codes.begin(), 164 if (!ContainsValue(base_language_codes, resolved_locale)) {
167 base_language_codes.end(),
168 resolved_locale) == base_language_codes.end()) {
169 // Resolved locale is not supported. 165 // Resolved locale is not supported.
170 continue; 166 continue;
171 } 167 }
172 168
173 const base::string16 display_name = 169 const base::string16 display_name =
174 l10n_util::GetDisplayNameForLocale(language_id, app_locale, true); 170 l10n_util::GetDisplayNameForLocale(language_id, app_locale, true);
175 const base::string16 native_display_name = 171 const base::string16 native_display_name =
176 l10n_util::GetDisplayNameForLocale( 172 l10n_util::GetDisplayNameForLocale(
177 language_id, language_id, true); 173 language_id, language_id, true);
178 174
179 language_map[display_name] = 175 language_map[display_name] =
180 std::make_pair(language_id, native_display_name); 176 std::make_pair(language_id, native_display_name);
181 177
182 most_relevant_locales_display_names[it->second] = display_name; 178 most_relevant_locales_display_names[it->second] = display_name;
183 ++most_relevant_locales_count; 179 ++most_relevant_locales_count;
184 } 180 }
185 181
186 // Translate language codes, generated from input methods. 182 // Translate language codes, generated from input methods.
187 for (std::set<std::string>::const_iterator it = language_codes.begin(); 183 for (std::set<std::string>::const_iterator it = language_codes.begin();
188 it != language_codes.end(); ++it) { 184 it != language_codes.end(); ++it) {
189 // Exclude the language which is not in |base_langauge_codes| even it has 185 // Exclude the language which is not in |base_langauge_codes| even it has
190 // input methods. 186 // input methods.
191 if (std::find(base_language_codes.begin(), 187 if (!ContainsValue(base_language_codes, *it))
192 base_language_codes.end(),
193 *it) == base_language_codes.end()) {
194 continue; 188 continue;
195 }
196 189
197 const base::string16 display_name = 190 const base::string16 display_name =
198 l10n_util::GetDisplayNameForLocale(*it, app_locale, true); 191 l10n_util::GetDisplayNameForLocale(*it, app_locale, true);
199 const base::string16 native_display_name = 192 const base::string16 native_display_name =
200 l10n_util::GetDisplayNameForLocale(*it, *it, true); 193 l10n_util::GetDisplayNameForLocale(*it, *it, true);
201 194
202 language_map[display_name] = 195 language_map[display_name] =
203 std::make_pair(*it, native_display_name); 196 std::make_pair(*it, native_display_name);
204 197
205 const std::map<std::string, int>::const_iterator index_pos = 198 const std::map<std::string, int>::const_iterator index_pos =
(...skipping 388 matching lines...) Expand 10 before | Expand all | Expand 10 after
594 scoped_ptr<base::DictionaryValue> GetCurrentKeyboardLayout() { 587 scoped_ptr<base::DictionaryValue> GetCurrentKeyboardLayout() {
595 const input_method::InputMethodDescriptor current_input_method = 588 const input_method::InputMethodDescriptor current_input_method =
596 input_method::InputMethodManager::Get() 589 input_method::InputMethodManager::Get()
597 ->GetActiveIMEState() 590 ->GetActiveIMEState()
598 ->GetCurrentInputMethod(); 591 ->GetCurrentInputMethod();
599 return CreateInputMethodsEntry(current_input_method, 592 return CreateInputMethodsEntry(current_input_method,
600 current_input_method.id()); 593 current_input_method.id());
601 } 594 }
602 595
603 } // namespace chromeos 596 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698