OLD | NEW |
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2008 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/string_util.h" | 5 #include "base/string_util.h" |
6 | 6 |
7 #include <string.h> | 7 #include <string.h> |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "base/basictypes.h" | 10 #include "base/basictypes.h" |
(...skipping 315 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
326 bool WideToUTF8(const wchar_t* src, size_t src_len, std::string* output) { | 326 bool WideToUTF8(const wchar_t* src, size_t src_len, std::string* output) { |
327 if (src_len == 0) { | 327 if (src_len == 0) { |
328 output->clear(); | 328 output->clear(); |
329 return true; | 329 return true; |
330 } | 330 } |
331 | 331 |
332 ReserveUTF8Output(src, src_len, output); | 332 ReserveUTF8Output(src, src_len, output); |
333 return ConvertUnicode<wchar_t, std::string>(src, src_len, output); | 333 return ConvertUnicode<wchar_t, std::string>(src, src_len, output); |
334 } | 334 } |
335 | 335 |
336 std::wstring UTF8ToWide(const StringPiece& utf8) { | 336 std::wstring UTF8ToWide(const base::StringPiece& utf8) { |
337 std::wstring ret; | 337 std::wstring ret; |
338 if (utf8.empty()) | 338 if (utf8.empty()) |
339 return ret; | 339 return ret; |
340 | 340 |
341 UTF8ToWide(utf8.data(), utf8.length(), &ret); | 341 UTF8ToWide(utf8.data(), utf8.length(), &ret); |
342 return ret; | 342 return ret; |
343 } | 343 } |
344 | 344 |
345 bool UTF8ToWide(const char* src, size_t src_len, std::wstring* output) { | 345 bool UTF8ToWide(const char* src, size_t src_len, std::wstring* output) { |
346 if (src_len == 0) { | 346 if (src_len == 0) { |
(...skipping 337 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
684 // This implementation is not so fast since it converts the text encoding | 684 // This implementation is not so fast since it converts the text encoding |
685 // twice. Please feel free to file a bug if this function hurts the | 685 // twice. Please feel free to file a bug if this function hurts the |
686 // performance of Chrome. | 686 // performance of Chrome. |
687 DCHECK(IsStringUTF8(input)); | 687 DCHECK(IsStringUTF8(input)); |
688 std::wstring input_wide = UTF8ToWide(input); | 688 std::wstring input_wide = UTF8ToWide(input); |
689 std::wstring output_wide; | 689 std::wstring output_wide; |
690 TrimPositions result = TrimWhitespace(input_wide, positions, &output_wide); | 690 TrimPositions result = TrimWhitespace(input_wide, positions, &output_wide); |
691 *output = WideToUTF8(output_wide); | 691 *output = WideToUTF8(output_wide); |
692 return result; | 692 return result; |
693 } | 693 } |
OLD | NEW |