OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 #ifndef BASE_STRINGS_LATIN1_STRING_CONVERSIONS_H_ | 5 #ifndef BASE_STRINGS_LATIN1_STRING_CONVERSIONS_H_ |
6 #define BASE_STRINGS_LATIN1_STRING_CONVERSIONS_H_ | 6 #define BASE_STRINGS_LATIN1_STRING_CONVERSIONS_H_ |
7 | 7 |
| 8 #include <stddef.h> |
| 9 |
8 #include <string> | 10 #include <string> |
9 | 11 |
10 #include "base/base_export.h" | 12 #include "base/base_export.h" |
11 #include "base/strings/string16.h" | 13 #include "base/strings/string16.h" |
12 | 14 |
13 namespace base { | 15 namespace base { |
14 | 16 |
15 // This definition of Latin1Char matches the definition of LChar in Blink. We | 17 // This definition of Latin1Char matches the definition of LChar in Blink. We |
16 // use unsigned char rather than char to make less tempting to mix and match | 18 // use unsigned char rather than char to make less tempting to mix and match |
17 // Latin-1 and UTF-8 characters.. | 19 // Latin-1 and UTF-8 characters.. |
18 typedef unsigned char Latin1Char; | 20 typedef unsigned char Latin1Char; |
19 | 21 |
20 // This somewhat odd function is designed to help us convert from Blink Strings | 22 // This somewhat odd function is designed to help us convert from Blink Strings |
21 // to string16. A Blink string is either backed by an array of Latin-1 | 23 // to string16. A Blink string is either backed by an array of Latin-1 |
22 // characters or an array of UTF-16 characters. This function is called by | 24 // characters or an array of UTF-16 characters. This function is called by |
23 // WebString::operator string16() to convert one or the other character array | 25 // WebString::operator string16() to convert one or the other character array |
24 // to string16. This function is defined here rather than in WebString.h to | 26 // to string16. This function is defined here rather than in WebString.h to |
25 // avoid binary bloat in all the callers of the conversion operator. | 27 // avoid binary bloat in all the callers of the conversion operator. |
26 BASE_EXPORT string16 Latin1OrUTF16ToUTF16(size_t length, | 28 BASE_EXPORT string16 Latin1OrUTF16ToUTF16(size_t length, |
27 const Latin1Char* latin1, | 29 const Latin1Char* latin1, |
28 const char16* utf16); | 30 const char16* utf16); |
29 | 31 |
30 } // namespace base | 32 } // namespace base |
31 | 33 |
32 #endif // BASE_STRINGS_LATIN1_STRING_CONVERSIONS_H_ | 34 #endif // BASE_STRINGS_LATIN1_STRING_CONVERSIONS_H_ |
OLD | NEW |