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

Side by Side Diff: ui/base/l10n/formatter.cc

Issue 1539583003: Convert Pass()→std::move() in ui/ (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 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
« no previous file with comments | « ui/base/accelerators/accelerator.h ('k') | ui/base/models/list_model.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 "ui/base/l10n/formatter.h" 5 #include "ui/base/l10n/formatter.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/memory/scoped_ptr.h" 10 #include "base/memory/scoped_ptr.h"
(...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after
144 scoped_ptr<icu::PluralRules> BuildPluralRules() { 144 scoped_ptr<icu::PluralRules> BuildPluralRules() {
145 UErrorCode err = U_ZERO_ERROR; 145 UErrorCode err = U_ZERO_ERROR;
146 scoped_ptr<icu::PluralRules> rules( 146 scoped_ptr<icu::PluralRules> rules(
147 icu::PluralRules::forLocale(icu::Locale::getDefault(), err)); 147 icu::PluralRules::forLocale(icu::Locale::getDefault(), err));
148 if (U_FAILURE(err)) { 148 if (U_FAILURE(err)) {
149 err = U_ZERO_ERROR; 149 err = U_ZERO_ERROR;
150 icu::UnicodeString fallback_rules("one: n is 1", -1, US_INV); 150 icu::UnicodeString fallback_rules("one: n is 1", -1, US_INV);
151 rules.reset(icu::PluralRules::createRules(fallback_rules, err)); 151 rules.reset(icu::PluralRules::createRules(fallback_rules, err));
152 DCHECK(U_SUCCESS(err)); 152 DCHECK(U_SUCCESS(err));
153 } 153 }
154 return rules.Pass(); 154 return rules;
155 } 155 }
156 156
157 void FormatNumberInPlural(const icu::MessageFormat& format, int number, 157 void FormatNumberInPlural(const icu::MessageFormat& format, int number,
158 icu::UnicodeString* result, UErrorCode* err) { 158 icu::UnicodeString* result, UErrorCode* err) {
159 if (U_FAILURE(*err)) return; 159 if (U_FAILURE(*err)) return;
160 icu::Formattable formattable(number); 160 icu::Formattable formattable(number);
161 icu::FieldPosition ignore(icu::FieldPosition::DONT_CARE); 161 icu::FieldPosition ignore(icu::FieldPosition::DONT_CARE);
162 format.format(&formattable, 1, *result, ignore, *err); 162 format.format(&formattable, 1, *result, ignore, *err);
163 DCHECK(U_SUCCESS(*err)); 163 DCHECK(U_SUCCESS(*err));
164 return; 164 return;
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
235 icu::UnicodeString pattern("{NUMBER, plural, "); 235 icu::UnicodeString pattern("{NUMBER, plural, ");
236 if (rules.isKeyword(UNICODE_STRING_SIMPLE("one"))) 236 if (rules.isKeyword(UNICODE_STRING_SIMPLE("one")))
237 pattern += icu::UnicodeString(pluralities.fallback_one); 237 pattern += icu::UnicodeString(pluralities.fallback_one);
238 pattern += icu::UnicodeString(pluralities.fallback_other); 238 pattern += icu::UnicodeString(pluralities.fallback_other);
239 pattern.append(UChar(0x7du)); // "}" = U+007D 239 pattern.append(UChar(0x7du)); // "}" = U+007D
240 240
241 UErrorCode error = U_ZERO_ERROR; 241 UErrorCode error = U_ZERO_ERROR;
242 scoped_ptr<icu::MessageFormat> format( 242 scoped_ptr<icu::MessageFormat> format(
243 new icu::MessageFormat(pattern, error)); 243 new icu::MessageFormat(pattern, error));
244 DCHECK(U_SUCCESS(error)); 244 DCHECK(U_SUCCESS(error));
245 return format.Pass(); 245 return format;
246 } 246 }
247 247
248 scoped_ptr<icu::MessageFormat> Formatter::InitFormat( 248 scoped_ptr<icu::MessageFormat> Formatter::InitFormat(
249 const Pluralities& pluralities) { 249 const Pluralities& pluralities) {
250 if (!formatter_force_fallback) { 250 if (!formatter_force_fallback) {
251 base::string16 pattern = l10n_util::GetStringUTF16(pluralities.id); 251 base::string16 pattern = l10n_util::GetStringUTF16(pluralities.id);
252 UErrorCode error = U_ZERO_ERROR; 252 UErrorCode error = U_ZERO_ERROR;
253 scoped_ptr<icu::MessageFormat> format(new icu::MessageFormat( 253 scoped_ptr<icu::MessageFormat> format(new icu::MessageFormat(
254 icu::UnicodeString(FALSE, pattern.data(), pattern.length()), error)); 254 icu::UnicodeString(FALSE, pattern.data(), pattern.length()), error));
255 DCHECK(U_SUCCESS(error)); 255 DCHECK(U_SUCCESS(error));
256 if (format.get()) 256 if (format.get())
257 return format.Pass(); 257 return format;
258 } 258 }
259 259
260 scoped_ptr<icu::PluralRules> rules(BuildPluralRules()); 260 scoped_ptr<icu::PluralRules> rules(BuildPluralRules());
261 return CreateFallbackFormat(*rules, pluralities); 261 return CreateFallbackFormat(*rules, pluralities);
262 } 262 }
263 263
264 const Formatter* FormatterContainer::Get(TimeFormat::Format format, 264 const Formatter* FormatterContainer::Get(TimeFormat::Format format,
265 TimeFormat::Length length) const { 265 TimeFormat::Length length) const {
266 DCHECK(formatter_[format][length]) 266 DCHECK(formatter_[format][length])
267 << "Combination of FORMAT_ELAPSED and LENGTH_LONG is not implemented!"; 267 << "Combination of FORMAT_ELAPSED and LENGTH_LONG is not implemented!";
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
312 312
313 void FormatterContainer::Shutdown() { 313 void FormatterContainer::Shutdown() {
314 for (int format = 0; format < TimeFormat::FORMAT_COUNT; ++format) { 314 for (int format = 0; format < TimeFormat::FORMAT_COUNT; ++format) {
315 for (int length = 0; length < TimeFormat::LENGTH_COUNT; ++length) { 315 for (int length = 0; length < TimeFormat::LENGTH_COUNT; ++length) {
316 formatter_[format][length].reset(); 316 formatter_[format][length].reset();
317 } 317 }
318 } 318 }
319 } 319 }
320 320
321 } // namespace ui 321 } // namespace ui
OLDNEW
« no previous file with comments | « ui/base/accelerators/accelerator.h ('k') | ui/base/models/list_model.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698