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

Side by Side Diff: third_party/WebKit/Source/platform/text/LocaleICU.cpp

Issue 2615813003: Migrate WTF::Vector::append() to ::push_back() [part 14 of N] (Closed)
Patch Set: rebase, small fix in FontSettings.h Created 3 years, 11 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 /* 1 /*
2 * Copyright (C) 2011,2012 Google Inc. All rights reserved. 2 * Copyright (C) 2011,2012 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after
105 void LocaleICU::initializeLocaleData() { 105 void LocaleICU::initializeLocaleData() {
106 if (m_didCreateDecimalFormat) 106 if (m_didCreateDecimalFormat)
107 return; 107 return;
108 m_didCreateDecimalFormat = true; 108 m_didCreateDecimalFormat = true;
109 UErrorCode status = U_ZERO_ERROR; 109 UErrorCode status = U_ZERO_ERROR;
110 m_numberFormat = unum_open(UNUM_DECIMAL, 0, 0, m_locale.data(), 0, &status); 110 m_numberFormat = unum_open(UNUM_DECIMAL, 0, 0, m_locale.data(), 0, &status);
111 if (!U_SUCCESS(status)) 111 if (!U_SUCCESS(status))
112 return; 112 return;
113 113
114 Vector<String, DecimalSymbolsSize> symbols; 114 Vector<String, DecimalSymbolsSize> symbols;
115 symbols.append(decimalSymbol(UNUM_ZERO_DIGIT_SYMBOL)); 115 symbols.push_back(decimalSymbol(UNUM_ZERO_DIGIT_SYMBOL));
116 symbols.append(decimalSymbol(UNUM_ONE_DIGIT_SYMBOL)); 116 symbols.push_back(decimalSymbol(UNUM_ONE_DIGIT_SYMBOL));
117 symbols.append(decimalSymbol(UNUM_TWO_DIGIT_SYMBOL)); 117 symbols.push_back(decimalSymbol(UNUM_TWO_DIGIT_SYMBOL));
118 symbols.append(decimalSymbol(UNUM_THREE_DIGIT_SYMBOL)); 118 symbols.push_back(decimalSymbol(UNUM_THREE_DIGIT_SYMBOL));
119 symbols.append(decimalSymbol(UNUM_FOUR_DIGIT_SYMBOL)); 119 symbols.push_back(decimalSymbol(UNUM_FOUR_DIGIT_SYMBOL));
120 symbols.append(decimalSymbol(UNUM_FIVE_DIGIT_SYMBOL)); 120 symbols.push_back(decimalSymbol(UNUM_FIVE_DIGIT_SYMBOL));
121 symbols.append(decimalSymbol(UNUM_SIX_DIGIT_SYMBOL)); 121 symbols.push_back(decimalSymbol(UNUM_SIX_DIGIT_SYMBOL));
122 symbols.append(decimalSymbol(UNUM_SEVEN_DIGIT_SYMBOL)); 122 symbols.push_back(decimalSymbol(UNUM_SEVEN_DIGIT_SYMBOL));
123 symbols.append(decimalSymbol(UNUM_EIGHT_DIGIT_SYMBOL)); 123 symbols.push_back(decimalSymbol(UNUM_EIGHT_DIGIT_SYMBOL));
124 symbols.append(decimalSymbol(UNUM_NINE_DIGIT_SYMBOL)); 124 symbols.push_back(decimalSymbol(UNUM_NINE_DIGIT_SYMBOL));
125 symbols.append(decimalSymbol(UNUM_DECIMAL_SEPARATOR_SYMBOL)); 125 symbols.push_back(decimalSymbol(UNUM_DECIMAL_SEPARATOR_SYMBOL));
126 symbols.append(decimalSymbol(UNUM_GROUPING_SEPARATOR_SYMBOL)); 126 symbols.push_back(decimalSymbol(UNUM_GROUPING_SEPARATOR_SYMBOL));
127 ASSERT(symbols.size() == DecimalSymbolsSize); 127 ASSERT(symbols.size() == DecimalSymbolsSize);
128 setLocaleData(symbols, decimalTextAttribute(UNUM_POSITIVE_PREFIX), 128 setLocaleData(symbols, decimalTextAttribute(UNUM_POSITIVE_PREFIX),
129 decimalTextAttribute(UNUM_POSITIVE_SUFFIX), 129 decimalTextAttribute(UNUM_POSITIVE_SUFFIX),
130 decimalTextAttribute(UNUM_NEGATIVE_PREFIX), 130 decimalTextAttribute(UNUM_NEGATIVE_PREFIX),
131 decimalTextAttribute(UNUM_NEGATIVE_SUFFIX)); 131 decimalTextAttribute(UNUM_NEGATIVE_SUFFIX));
132 } 132 }
133 133
134 bool LocaleICU::initializeShortDateFormat() { 134 bool LocaleICU::initializeShortDateFormat() {
135 if (m_didCreateShortDateFormat) 135 if (m_didCreateShortDateFormat)
136 return m_shortDateFormat; 136 return m_shortDateFormat;
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
210 status = U_ZERO_ERROR; 210 status = U_ZERO_ERROR;
211 if (isStandAloneMonth) { 211 if (isStandAloneMonth) {
212 udat_format(dateFormat, kEpoch + i * kMonth, buffer.characters(), length, 212 udat_format(dateFormat, kEpoch + i * kMonth, buffer.characters(), length,
213 0, &status); 213 0, &status);
214 } else { 214 } else {
215 udat_getSymbols(dateFormat, type, startIndex + i, buffer.characters(), 215 udat_getSymbols(dateFormat, type, startIndex + i, buffer.characters(),
216 length, &status); 216 length, &status);
217 } 217 }
218 if (U_FAILURE(status)) 218 if (U_FAILURE(status))
219 return std::unique_ptr<Vector<String>>(); 219 return std::unique_ptr<Vector<String>>();
220 labels->append(String::adopt(buffer)); 220 labels->push_back(String::adopt(buffer));
221 } 221 }
222 return labels; 222 return labels;
223 } 223 }
224 224
225 static std::unique_ptr<Vector<String>> createFallbackWeekDayShortLabels() { 225 static std::unique_ptr<Vector<String>> createFallbackWeekDayShortLabels() {
226 std::unique_ptr<Vector<String>> labels = WTF::makeUnique<Vector<String>>(); 226 std::unique_ptr<Vector<String>> labels = WTF::makeUnique<Vector<String>>();
227 labels->reserveCapacity(7); 227 labels->reserveCapacity(7);
228 labels->append("Sun"); 228 labels->push_back("Sun");
229 labels->append("Mon"); 229 labels->push_back("Mon");
230 labels->append("Tue"); 230 labels->push_back("Tue");
231 labels->append("Wed"); 231 labels->push_back("Wed");
232 labels->append("Thu"); 232 labels->push_back("Thu");
233 labels->append("Fri"); 233 labels->push_back("Fri");
234 labels->append("Sat"); 234 labels->push_back("Sat");
235 return labels; 235 return labels;
236 } 236 }
237 237
238 void LocaleICU::initializeCalendar() { 238 void LocaleICU::initializeCalendar() {
239 if (m_weekDayShortLabels) 239 if (m_weekDayShortLabels)
240 return; 240 return;
241 241
242 if (!initializeShortDateFormat()) { 242 if (!initializeShortDateFormat()) {
243 m_firstDayOfWeek = 0; 243 m_firstDayOfWeek = 0;
244 m_weekDayShortLabels = createFallbackWeekDayShortLabels(); 244 m_weekDayShortLabels = createFallbackWeekDayShortLabels();
245 return; 245 return;
246 } 246 }
247 m_firstDayOfWeek = ucal_getAttribute(udat_getCalendar(m_shortDateFormat), 247 m_firstDayOfWeek = ucal_getAttribute(udat_getCalendar(m_shortDateFormat),
248 UCAL_FIRST_DAY_OF_WEEK) - 248 UCAL_FIRST_DAY_OF_WEEK) -
249 UCAL_SUNDAY; 249 UCAL_SUNDAY;
250 250
251 m_weekDayShortLabels = 251 m_weekDayShortLabels =
252 createLabelVector(m_shortDateFormat, UDAT_SHORT_WEEKDAYS, UCAL_SUNDAY, 7); 252 createLabelVector(m_shortDateFormat, UDAT_SHORT_WEEKDAYS, UCAL_SUNDAY, 7);
253 if (!m_weekDayShortLabels) 253 if (!m_weekDayShortLabels)
254 m_weekDayShortLabels = createFallbackWeekDayShortLabels(); 254 m_weekDayShortLabels = createFallbackWeekDayShortLabels();
255 } 255 }
256 256
257 static std::unique_ptr<Vector<String>> createFallbackMonthLabels() { 257 static std::unique_ptr<Vector<String>> createFallbackMonthLabels() {
258 std::unique_ptr<Vector<String>> labels = WTF::makeUnique<Vector<String>>(); 258 std::unique_ptr<Vector<String>> labels = WTF::makeUnique<Vector<String>>();
259 labels->reserveCapacity(WTF_ARRAY_LENGTH(WTF::monthFullName)); 259 labels->reserveCapacity(WTF_ARRAY_LENGTH(WTF::monthFullName));
260 for (unsigned i = 0; i < WTF_ARRAY_LENGTH(WTF::monthFullName); ++i) 260 for (unsigned i = 0; i < WTF_ARRAY_LENGTH(WTF::monthFullName); ++i)
261 labels->append(WTF::monthFullName[i]); 261 labels->push_back(WTF::monthFullName[i]);
262 return labels; 262 return labels;
263 } 263 }
264 264
265 const Vector<String>& LocaleICU::monthLabels() { 265 const Vector<String>& LocaleICU::monthLabels() {
266 if (m_monthLabels) 266 if (m_monthLabels)
267 return *m_monthLabels; 267 return *m_monthLabels;
268 if (initializeShortDateFormat()) { 268 if (initializeShortDateFormat()) {
269 m_monthLabels = 269 m_monthLabels =
270 createLabelVector(m_shortDateFormat, UDAT_MONTHS, UCAL_JANUARY, 12); 270 createLabelVector(m_shortDateFormat, UDAT_MONTHS, UCAL_JANUARY, 12);
271 if (m_monthLabels) 271 if (m_monthLabels)
(...skipping 15 matching lines...) Expand all
287 287
288 bool LocaleICU::isRTL() { 288 bool LocaleICU::isRTL() {
289 UErrorCode status = U_ZERO_ERROR; 289 UErrorCode status = U_ZERO_ERROR;
290 return uloc_getCharacterOrientation(m_locale.data(), &status) == 290 return uloc_getCharacterOrientation(m_locale.data(), &status) ==
291 ULOC_LAYOUT_RTL; 291 ULOC_LAYOUT_RTL;
292 } 292 }
293 293
294 static std::unique_ptr<Vector<String>> createFallbackAMPMLabels() { 294 static std::unique_ptr<Vector<String>> createFallbackAMPMLabels() {
295 std::unique_ptr<Vector<String>> labels = WTF::makeUnique<Vector<String>>(); 295 std::unique_ptr<Vector<String>> labels = WTF::makeUnique<Vector<String>>();
296 labels->reserveCapacity(2); 296 labels->reserveCapacity(2);
297 labels->append("AM"); 297 labels->push_back("AM");
298 labels->append("PM"); 298 labels->push_back("PM");
299 return labels; 299 return labels;
300 } 300 }
301 301
302 void LocaleICU::initializeDateTimeFormat() { 302 void LocaleICU::initializeDateTimeFormat() {
303 if (m_didCreateTimeFormat) 303 if (m_didCreateTimeFormat)
304 return; 304 return;
305 305
306 // We assume ICU medium time pattern and short time pattern are compatible 306 // We assume ICU medium time pattern and short time pattern are compatible
307 // with LDML, because ICU specific pattern character "V" doesn't appear 307 // with LDML, because ICU specific pattern character "V" doesn't appear
308 // in both medium and short time pattern. 308 // in both medium and short time pattern.
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after
407 return m_shortMonthLabels; 407 return m_shortMonthLabels;
408 if (initializeShortDateFormat()) { 408 if (initializeShortDateFormat()) {
409 if (std::unique_ptr<Vector<String>> labels = createLabelVector( 409 if (std::unique_ptr<Vector<String>> labels = createLabelVector(
410 m_shortDateFormat, UDAT_SHORT_MONTHS, UCAL_JANUARY, 12)) { 410 m_shortDateFormat, UDAT_SHORT_MONTHS, UCAL_JANUARY, 12)) {
411 m_shortMonthLabels = *labels; 411 m_shortMonthLabels = *labels;
412 return m_shortMonthLabels; 412 return m_shortMonthLabels;
413 } 413 }
414 } 414 }
415 m_shortMonthLabels.reserveCapacity(WTF_ARRAY_LENGTH(WTF::monthName)); 415 m_shortMonthLabels.reserveCapacity(WTF_ARRAY_LENGTH(WTF::monthName));
416 for (unsigned i = 0; i < WTF_ARRAY_LENGTH(WTF::monthName); ++i) 416 for (unsigned i = 0; i < WTF_ARRAY_LENGTH(WTF::monthName); ++i)
417 m_shortMonthLabels.append(WTF::monthName[i]); 417 m_shortMonthLabels.push_back(WTF::monthName[i]);
418 return m_shortMonthLabels; 418 return m_shortMonthLabels;
419 } 419 }
420 420
421 const Vector<String>& LocaleICU::standAloneMonthLabels() { 421 const Vector<String>& LocaleICU::standAloneMonthLabels() {
422 if (!m_standAloneMonthLabels.isEmpty()) 422 if (!m_standAloneMonthLabels.isEmpty())
423 return m_standAloneMonthLabels; 423 return m_standAloneMonthLabels;
424 UDateFormat* monthFormatter = openDateFormatForStandAloneMonthLabels(false); 424 UDateFormat* monthFormatter = openDateFormatForStandAloneMonthLabels(false);
425 if (monthFormatter) { 425 if (monthFormatter) {
426 if (std::unique_ptr<Vector<String>> labels = createLabelVector( 426 if (std::unique_ptr<Vector<String>> labels = createLabelVector(
427 monthFormatter, UDAT_STANDALONE_MONTHS, UCAL_JANUARY, 12)) { 427 monthFormatter, UDAT_STANDALONE_MONTHS, UCAL_JANUARY, 12)) {
(...skipping 23 matching lines...) Expand all
451 m_shortStandAloneMonthLabels = shortMonthLabels(); 451 m_shortStandAloneMonthLabels = shortMonthLabels();
452 return m_shortStandAloneMonthLabels; 452 return m_shortStandAloneMonthLabels;
453 } 453 }
454 454
455 const Vector<String>& LocaleICU::timeAMPMLabels() { 455 const Vector<String>& LocaleICU::timeAMPMLabels() {
456 initializeDateTimeFormat(); 456 initializeDateTimeFormat();
457 return m_timeAMPMLabels; 457 return m_timeAMPMLabels;
458 } 458 }
459 459
460 } // namespace blink 460 } // namespace blink
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/platform/text/Hyphenation.cpp ('k') | third_party/WebKit/Source/platform/text/LocaleICUTest.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698