summaryrefslogtreecommitdiffstats
path: root/base
diff options
context:
space:
mode:
authortc@google.com <tc@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2009-04-14 16:51:21 +0000
committertc@google.com <tc@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2009-04-14 16:51:21 +0000
commitd92224288027cefbbd197bd9eed9080110aa9222 (patch)
treedde9e6e5f8344cf88196b3d8db6af9c5bdb6f7e1 /base
parentd41e5c6e49d59d0cf4495c57f29d925ab1a4aa59 (diff)
downloadchromium_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.cc54
-rw-r--r--base/string_util.h42
-rw-r--r--base/string_util_unittest.cc8
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]);