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

Side by Side Diff: base/utf_string_conversions.cc

Issue 6317016: Change UTF8ToUTF16 to accept const StringPiece&. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase Created 9 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 | Annotate | Revision Log
« no previous file with comments | « base/utf_string_conversions.h ('k') | chrome/browser/autofill/form_group.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "base/utf_string_conversions.h" 5 #include "base/utf_string_conversions.h"
6 6
7 #include "base/string_piece.h" 7 #include "base/string_piece.h"
8 #include "base/string_util.h" 8 #include "base/string_util.h"
9 #include "base/utf_string_conversion_utils.h" 9 #include "base/utf_string_conversion_utils.h"
10 10
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after
126 126
127 // UTF16 <-> UTF8 -------------------------------------------------------------- 127 // UTF16 <-> UTF8 --------------------------------------------------------------
128 128
129 #if defined(WCHAR_T_IS_UTF32) 129 #if defined(WCHAR_T_IS_UTF32)
130 130
131 bool UTF8ToUTF16(const char* src, size_t src_len, string16* output) { 131 bool UTF8ToUTF16(const char* src, size_t src_len, string16* output) {
132 PrepareForUTF16Or32Output(src, src_len, output); 132 PrepareForUTF16Or32Output(src, src_len, output);
133 return ConvertUnicode(src, src_len, output); 133 return ConvertUnicode(src, src_len, output);
134 } 134 }
135 135
136 string16 UTF8ToUTF16(const std::string& utf8) { 136 string16 UTF8ToUTF16(const base::StringPiece& utf8) {
137 string16 ret; 137 string16 ret;
138 // Ignore the success flag of this call, it will do the best it can for 138 // Ignore the success flag of this call, it will do the best it can for
139 // invalid input, which is what we want here. 139 // invalid input, which is what we want here.
140 UTF8ToUTF16(utf8.data(), utf8.length(), &ret); 140 UTF8ToUTF16(utf8.data(), utf8.length(), &ret);
141 return ret; 141 return ret;
142 } 142 }
143 143
144 bool UTF16ToUTF8(const char16* src, size_t src_len, std::string* output) { 144 bool UTF16ToUTF8(const char16* src, size_t src_len, std::string* output) {
145 PrepareForUTF8Output(src, src_len, output); 145 PrepareForUTF8Output(src, src_len, output);
146 return ConvertUnicode(src, src_len, output); 146 return ConvertUnicode(src, src_len, output);
147 } 147 }
148 148
149 std::string UTF16ToUTF8(const string16& utf16) { 149 std::string UTF16ToUTF8(const string16& utf16) {
150 std::string ret; 150 std::string ret;
151 // Ignore the success flag of this call, it will do the best it can for 151 // Ignore the success flag of this call, it will do the best it can for
152 // invalid input, which is what we want here. 152 // invalid input, which is what we want here.
153 UTF16ToUTF8(utf16.data(), utf16.length(), &ret); 153 UTF16ToUTF8(utf16.data(), utf16.length(), &ret);
154 return ret; 154 return ret;
155 } 155 }
156 156
157 #elif defined(WCHAR_T_IS_UTF16) 157 #elif defined(WCHAR_T_IS_UTF16)
158 // Easy case since we can use the "wide" versions we already wrote above. 158 // Easy case since we can use the "wide" versions we already wrote above.
159 159
160 bool UTF8ToUTF16(const char* src, size_t src_len, string16* output) { 160 bool UTF8ToUTF16(const char* src, size_t src_len, string16* output) {
161 return UTF8ToWide(src, src_len, output); 161 return UTF8ToWide(src, src_len, output);
162 } 162 }
163 163
164 string16 UTF8ToUTF16(const std::string& utf8) { 164 string16 UTF8ToUTF16(const base::StringPiece& utf8) {
165 return UTF8ToWide(utf8); 165 return UTF8ToWide(utf8);
166 } 166 }
167 167
168 bool UTF16ToUTF8(const char16* src, size_t src_len, std::string* output) { 168 bool UTF16ToUTF8(const char16* src, size_t src_len, std::string* output) {
169 return WideToUTF8(src, src_len, output); 169 return WideToUTF8(src, src_len, output);
170 } 170 }
171 171
172 std::string UTF16ToUTF8(const string16& utf16) { 172 std::string UTF16ToUTF8(const string16& utf16) {
173 return WideToUTF8(utf16); 173 return WideToUTF8(utf16);
174 } 174 }
175 175
176 #endif 176 #endif
177 177
178 std::wstring ASCIIToWide(const char* ascii) { 178 std::wstring ASCIIToWide(const base::StringPiece& ascii) {
179 DCHECK(IsStringASCII(ascii)) << ascii;
180 return std::wstring(ascii, &ascii[strlen(ascii)]);
181 }
182
183 std::wstring ASCIIToWide(const std::string& ascii) {
184 DCHECK(IsStringASCII(ascii)) << ascii; 179 DCHECK(IsStringASCII(ascii)) << ascii;
185 return std::wstring(ascii.begin(), ascii.end()); 180 return std::wstring(ascii.begin(), ascii.end());
186 } 181 }
187 182
188 string16 ASCIIToUTF16(const char* ascii) { 183 string16 ASCIIToUTF16(const base::StringPiece& ascii) {
189 DCHECK(IsStringASCII(ascii)) << ascii;
190 return string16(ascii, &ascii[strlen(ascii)]);
191 }
192
193 string16 ASCIIToUTF16(const std::string& ascii) {
194 DCHECK(IsStringASCII(ascii)) << ascii; 184 DCHECK(IsStringASCII(ascii)) << ascii;
195 return string16(ascii.begin(), ascii.end()); 185 return string16(ascii.begin(), ascii.end());
196 } 186 }
OLDNEW
« no previous file with comments | « base/utf_string_conversions.h ('k') | chrome/browser/autofill/form_group.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698