diff options
author | tc@google.com <tc@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-04-14 16:51:21 +0000 |
---|---|---|
committer | tc@google.com <tc@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-04-14 16:51:21 +0000 |
commit | d92224288027cefbbd197bd9eed9080110aa9222 (patch) | |
tree | dde9e6e5f8344cf88196b3d8db6af9c5bdb6f7e1 /base | |
parent | d41e5c6e49d59d0cf4495c57f29d925ab1a4aa59 (diff) | |
download | chromium_src-d92224288027cefbbd197bd9eed9080110aa9222.zip chromium_src-d92224288027cefbbd197bd9eed9080110aa9222.tar.gz chromium_src-d92224288027cefbbd197bd9eed9080110aa9222.tar.bz2 |
Convert the internal GetStringF to use string16. This saves a
conversion from string16 to wstring on the linux side when
calling GetStringFUTF8 methods.
It actually adds extra conversions when calling GetStringF, but
we're going to get rid of all those, right?
BUG=9911
Review URL: http://codereview.chromium.org/67112
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13666 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base')
-rw-r--r-- | base/string_util.cc | 54 | ||||
-rw-r--r-- | base/string_util.h | 42 | ||||
-rw-r--r-- | base/string_util_unittest.cc | 8 |
3 files changed, 54 insertions, 50 deletions
diff --git a/base/string_util.cc b/base/string_util.cc index ebab89b..2e6f7b3 100644 --- a/base/string_util.cc +++ b/base/string_util.cc @@ -1269,14 +1269,14 @@ void SplitStringAlongWhitespace(const std::wstring& str, } } -std::wstring ReplaceStringPlaceholders(const std::wstring& format_string, - const std::wstring& a, - size_t* offset) { +string16 ReplaceStringPlaceholders(const string16& format_string, + const string16& a, + size_t* offset) { std::vector<size_t> offsets; - std::wstring result = ReplaceStringPlaceholders(format_string, a, - std::wstring(), - std::wstring(), - std::wstring(), &offsets); + string16 result = ReplaceStringPlaceholders(format_string, a, + string16(), + string16(), + string16(), &offsets); DCHECK(offsets.size() == 1); if (offset) { *offset = offsets[0]; @@ -1284,41 +1284,41 @@ std::wstring ReplaceStringPlaceholders(const std::wstring& format_string, return result; } -std::wstring ReplaceStringPlaceholders(const std::wstring& format_string, - const std::wstring& a, - const std::wstring& b, - std::vector<size_t>* offsets) { - return ReplaceStringPlaceholders(format_string, a, b, std::wstring(), - std::wstring(), offsets); +string16 ReplaceStringPlaceholders(const string16& format_string, + const string16& a, + const string16& b, + std::vector<size_t>* offsets) { + return ReplaceStringPlaceholders(format_string, a, b, string16(), + string16(), offsets); } -std::wstring ReplaceStringPlaceholders(const std::wstring& format_string, - const std::wstring& a, - const std::wstring& b, - const std::wstring& c, - std::vector<size_t>* offsets) { - return ReplaceStringPlaceholders(format_string, a, b, c, std::wstring(), +string16 ReplaceStringPlaceholders(const string16& format_string, + const string16& a, + const string16& b, + const string16& c, + std::vector<size_t>* offsets) { + return ReplaceStringPlaceholders(format_string, a, b, c, string16(), offsets); } -std::wstring ReplaceStringPlaceholders(const std::wstring& format_string, - const std::wstring& a, - const std::wstring& b, - const std::wstring& c, - const std::wstring& d, +string16 ReplaceStringPlaceholders(const string16& format_string, + const string16& a, + const string16& b, + const string16& c, + const string16& d, std::vector<size_t>* offsets) { // We currently only support up to 4 place holders ($1 through $4), although // it's easy enough to add more. - const std::wstring* subst_texts[] = { &a, &b, &c, &d }; + const string16* subst_texts[] = { &a, &b, &c, &d }; - std::wstring formatted; + string16 formatted; formatted.reserve(format_string.length() + a.length() + b.length() + c.length() + d.length()); std::vector<ReplacementOffset> r_offsets; // Replace $$ with $ and $1-$4 with placeholder text if it exists. - for (std::wstring::const_iterator i = format_string.begin(); + for (string16::const_iterator i = format_string.begin(); i != format_string.end(); ++i) { if ('$' == *i) { if (i + 1 != format_string.end()) { diff --git a/base/string_util.h b/base/string_util.h index ca1fc05..c32bef3 100644 --- a/base/string_util.h +++ b/base/string_util.h @@ -556,27 +556,27 @@ void SplitStringAlongWhitespace(const std::wstring& str, // Replace $1-$2-$3 in the format string with |a| and |b| respectively. // Additionally, $$ is replaced by $. The offset/offsets parameter here can be // NULL. -std::wstring ReplaceStringPlaceholders(const std::wstring& format_string, - const std::wstring& a, - size_t* offset); - -std::wstring ReplaceStringPlaceholders(const std::wstring& format_string, - const std::wstring& a, - const std::wstring& b, - std::vector<size_t>* offsets); - -std::wstring ReplaceStringPlaceholders(const std::wstring& format_string, - const std::wstring& a, - const std::wstring& b, - const std::wstring& c, - std::vector<size_t>* offsets); - -std::wstring ReplaceStringPlaceholders(const std::wstring& format_string, - const std::wstring& a, - const std::wstring& b, - const std::wstring& c, - const std::wstring& d, - std::vector<size_t>* offsets); +string16 ReplaceStringPlaceholders(const string16& format_string, + const string16& a, + size_t* offset); + +string16 ReplaceStringPlaceholders(const string16& format_string, + const string16& a, + const string16& b, + std::vector<size_t>* offsets); + +string16 ReplaceStringPlaceholders(const string16& format_string, + const string16& a, + const string16& b, + const string16& c, + std::vector<size_t>* offsets); + +string16 ReplaceStringPlaceholders(const string16& format_string, + const string16& a, + const string16& b, + const string16& c, + const string16& d, + std::vector<size_t>* offsets); // If the size of |input| is more than |max_len|, this function returns true and // |input| is shortened into |output| by removing chars in the middle (they are diff --git a/base/string_util_unittest.cc b/base/string_util_unittest.cc index 9e55c10..c7b881e 100644 --- a/base/string_util_unittest.cc +++ b/base/string_util_unittest.cc @@ -1421,14 +1421,18 @@ TEST(StringUtilTest, StartsWith) { TEST(StringUtilTest, GetStringFWithOffsets) { std::vector<size_t> offsets; - ReplaceStringPlaceholders(L"Hello, $1. Your number is $2.", L"1", L"2", + ReplaceStringPlaceholders(ASCIIToUTF16("Hello, $1. Your number is $2."), + ASCIIToUTF16("1"), + ASCIIToUTF16("2"), &offsets); EXPECT_EQ(2U, offsets.size()); EXPECT_EQ(7U, offsets[0]); EXPECT_EQ(25U, offsets[1]); offsets.clear(); - ReplaceStringPlaceholders(L"Hello, $2. Your number is $1.", L"1", L"2", + ReplaceStringPlaceholders(ASCIIToUTF16("Hello, $2. Your number is $1."), + ASCIIToUTF16("1"), + ASCIIToUTF16("2"), &offsets); EXPECT_EQ(2U, offsets.size()); EXPECT_EQ(25U, offsets[0]); |