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

Side by Side Diff: third_party/WebKit/Source/core/layout/ListMarkerText.cpp

Issue 2766723002: Migrate WTF::Vector::prepend() to ::push_front() (Closed)
Patch Set: Created 3 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 /* 1 /*
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
3 * (C) 1999 Antti Koivisto (koivisto@kde.org) 3 * (C) 1999 Antti Koivisto (koivisto@kde.org)
4 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights 4 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights
5 * reserved. 5 * reserved.
6 * Copyright (C) 2006 Andrew Wellington (proton@wiretapped.net) 6 * Copyright (C) 2006 Andrew Wellington (proton@wiretapped.net)
7 * Copyright (C) 2010 Daniel Bates (dbates@intudata.com) 7 * Copyright (C) 2010 Daniel Bates (dbates@intudata.com)
8 * 8 *
9 * This library is free software; you can redistribute it and/or 9 * This library is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU Library General Public 10 * modify it under the terms of the GNU Library General Public
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after
167 return toSymbolic(number, alphabet, size); 167 return toSymbolic(number, alphabet, size);
168 } 168 }
169 169
170 static void toHebrewUnder1000(int number, Vector<UChar>& letters) { 170 static void toHebrewUnder1000(int number, Vector<UChar>& letters) {
171 // FIXME: CSS3 mentions various refinements not implemented here. 171 // FIXME: CSS3 mentions various refinements not implemented here.
172 // FIXME: Should take a look at Mozilla's HebrewToText function (in 172 // FIXME: Should take a look at Mozilla's HebrewToText function (in
173 // nsBulletFrame). 173 // nsBulletFrame).
174 ASSERT(number >= 0 && number < 1000); 174 ASSERT(number >= 0 && number < 1000);
175 int fourHundreds = number / 400; 175 int fourHundreds = number / 400;
176 for (int i = 0; i < fourHundreds; i++) 176 for (int i = 0; i < fourHundreds; i++)
177 letters.prepend(1511 + 3); 177 letters.push_front(1511 + 3);
178 number %= 400; 178 number %= 400;
179 if (number / 100) 179 if (number / 100)
180 letters.prepend(1511 + (number / 100) - 1); 180 letters.push_front(1511 + (number / 100) - 1);
181 number %= 100; 181 number %= 100;
182 if (number == 15 || number == 16) { 182 if (number == 15 || number == 16) {
183 letters.prepend(1487 + 9); 183 letters.push_front(1487 + 9);
184 letters.prepend(1487 + number - 9); 184 letters.push_front(1487 + number - 9);
185 } else { 185 } else {
186 if (int tens = number / 10) { 186 if (int tens = number / 10) {
187 static const UChar hebrewTens[9] = {1497, 1499, 1500, 1502, 1504, 187 static const UChar hebrewTens[9] = {1497, 1499, 1500, 1502, 1504,
188 1505, 1506, 1508, 1510}; 188 1505, 1506, 1508, 1510};
189 letters.prepend(hebrewTens[tens - 1]); 189 letters.push_front(hebrewTens[tens - 1]);
190 } 190 }
191 if (int ones = number % 10) 191 if (int ones = number % 10)
192 letters.prepend(1487 + ones); 192 letters.push_front(1487 + ones);
193 } 193 }
194 } 194 }
195 195
196 static String toHebrew(int number) { 196 static String toHebrew(int number) {
197 // FIXME: CSS3 mentions ways to make this work for much larger numbers. 197 // FIXME: CSS3 mentions ways to make this work for much larger numbers.
198 ASSERT(number >= 0 && number <= 999999); 198 ASSERT(number >= 0 && number <= 999999);
199 199
200 if (number == 0) { 200 if (number == 0) {
201 static const UChar hebrewZero[3] = {0x05E1, 0x05E4, 0x05D0}; 201 static const UChar hebrewZero[3] = {0x05E1, 0x05E4, 0x05D0};
202 return String(hebrewZero, 3); 202 return String(hebrewZero, 3);
203 } 203 }
204 204
205 Vector<UChar> letters; 205 Vector<UChar> letters;
206 if (number > 999) { 206 if (number > 999) {
207 toHebrewUnder1000(number / 1000, letters); 207 toHebrewUnder1000(number / 1000, letters);
208 letters.prepend('\''); 208 letters.push_front('\'');
209 number = number % 1000; 209 number = number % 1000;
210 } 210 }
211 toHebrewUnder1000(number, letters); 211 toHebrewUnder1000(number, letters);
212 return String(letters); 212 return String(letters);
213 } 213 }
214 214
215 static int toArmenianUnder10000(int number, 215 static int toArmenianUnder10000(int number,
216 bool upper, 216 bool upper,
217 bool addCircumflex, 217 bool addCircumflex,
218 UChar letters[9]) { 218 UChar letters[9]) {
(...skipping 715 matching lines...) Expand 10 before | Expand all | Expand 10 after
934 return toHebrew(count); 934 return toHebrew(count);
935 } 935 }
936 936
937 ASSERT_NOT_REACHED(); 937 ASSERT_NOT_REACHED();
938 return ""; 938 return "";
939 } 939 }
940 940
941 } // namespace ListMarkerText 941 } // namespace ListMarkerText
942 942
943 } // namespace blink 943 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698