summaryrefslogtreecommitdiffstats
path: root/base/utf_string_conversions.h
diff options
context:
space:
mode:
authorbrettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-07-31 17:47:09 +0000
committerbrettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-07-31 17:47:09 +0000
commitf1d8192134f870445ae76be8c16b1566981c9cce (patch)
tree99a0bc223c4e8a7715479f7c35cd95c8e85a2f98 /base/utf_string_conversions.h
parent34877b3b302e3cb456a705b4b45dd72ae6947c79 (diff)
downloadchromium_src-f1d8192134f870445ae76be8c16b1566981c9cce.zip
chromium_src-f1d8192134f870445ae76be8c16b1566981c9cce.tar.gz
chromium_src-f1d8192134f870445ae76be8c16b1566981c9cce.tar.bz2
Move ASCIIToWide and ASCIIToUTF16 to utf_string_conversions.h. I've found it
weird that UTF8ToWide is in utf_string_conversions, but ASCIIToWide is in string_util.h. This should help some dependencies since string_util changes much more frequently than utf_string_conversions and fewer files will now need string_utils. Since this requires a lot of changes, this keeps a forward-declaration in string_util so I can update the entire project incrementally. This change updates base and net only. I removed some includes of string_util from header files in net. In particular, url_request_context which involved creating a new .cc file to implement a function (already virtual so there's no speed penalty). It turns out a lot of files were getting string_util from this include, so I had to update a bunch of random files to now explicitly include string_util.h TEST=it compiles BUG=none Review URL: http://codereview.chromium.org/3076013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54456 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base/utf_string_conversions.h')
-rw-r--r--base/utf_string_conversions.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/base/utf_string_conversions.h b/base/utf_string_conversions.h
index 0ffd480..6c49b41 100644
--- a/base/utf_string_conversions.h
+++ b/base/utf_string_conversions.h
@@ -48,4 +48,18 @@ std::string UTF16ToUTF8(const string16& utf16);
# define UTF16ToWideHack UTF16ToWide
#endif
+// These convert an ASCII string, typically a hardcoded constant, to a
+// UTF16/Wide string.
+//
+// Note that this doesn't use StringPiece because it's very common to need
+// ASCIIToUTF16("foo"), and either we have to include it in this file, or
+// forward declare it and force all callers to include string_piece.h. Given
+// that string_piece brings in complicated stuff like <algorithm>, it's
+// easier to just duplicate these very simple definitions for the two calling
+// cases we actually use.
+std::wstring ASCIIToWide(const char* ascii);
+std::wstring ASCIIToWide(const std::string& ascii);
+string16 ASCIIToUTF16(const char* ascii);
+string16 ASCIIToUTF16(const std::string& ascii);
+
#endif // BASE_UTF_STRING_CONVERSIONS_H_