| Index: base/string_util.cc
|
| ===================================================================
|
| --- base/string_util.cc (revision 28994)
|
| +++ base/string_util.cc (working copy)
|
| @@ -344,36 +344,42 @@
|
| return Singleton<EmptyStrings>::get()->s16;
|
| }
|
|
|
| +#define WHITESPACE_UNICODE \
|
| + 0x0009, /* <control-0009> to <control-000D> */ \
|
| + 0x000A, \
|
| + 0x000B, \
|
| + 0x000C, \
|
| + 0x000D, \
|
| + 0x0020, /* Space */ \
|
| + 0x0085, /* <control-0085> */ \
|
| + 0x00A0, /* No-Break Space */ \
|
| + 0x1680, /* Ogham Space Mark */ \
|
| + 0x180E, /* Mongolian Vowel Separator */ \
|
| + 0x2000, /* En Quad to Hair Space */ \
|
| + 0x2001, \
|
| + 0x2002, \
|
| + 0x2003, \
|
| + 0x2004, \
|
| + 0x2005, \
|
| + 0x2006, \
|
| + 0x2007, \
|
| + 0x2008, \
|
| + 0x2009, \
|
| + 0x200A, \
|
| + 0x200C, /* Zero Width Non-Joiner */ \
|
| + 0x2028, /* Line Separator */ \
|
| + 0x2029, /* Paragraph Separator */ \
|
| + 0x202F, /* Narrow No-Break Space */ \
|
| + 0x205F, /* Medium Mathematical Space */ \
|
| + 0x3000, /* Ideographic Space */ \
|
| + 0
|
| +
|
| const wchar_t kWhitespaceWide[] = {
|
| - 0x0009, // <control-0009> to <control-000D>
|
| - 0x000A,
|
| - 0x000B,
|
| - 0x000C,
|
| - 0x000D,
|
| - 0x0020, // Space
|
| - 0x0085, // <control-0085>
|
| - 0x00A0, // No-Break Space
|
| - 0x1680, // Ogham Space Mark
|
| - 0x180E, // Mongolian Vowel Separator
|
| - 0x2000, // En Quad to Hair Space
|
| - 0x2001,
|
| - 0x2002,
|
| - 0x2003,
|
| - 0x2004,
|
| - 0x2005,
|
| - 0x2006,
|
| - 0x2007,
|
| - 0x2008,
|
| - 0x2009,
|
| - 0x200A,
|
| - 0x200C, // Zero Width Non-Joiner
|
| - 0x2028, // Line Separator
|
| - 0x2029, // Paragraph Separator
|
| - 0x202F, // Narrow No-Break Space
|
| - 0x205F, // Medium Mathematical Space
|
| - 0x3000, // Ideographic Space
|
| - 0
|
| + WHITESPACE_UNICODE
|
| };
|
| +const char16 kWhitespaceUTF16[] = {
|
| + WHITESPACE_UNICODE
|
| +};
|
| const char kWhitespaceASCII[] = {
|
| 0x09, // <control-0009> to <control-000D>
|
| 0x0A,
|
| @@ -422,6 +428,14 @@
|
| return TrimStringT(input, trim_chars, TRIM_ALL, output) != TRIM_NONE;
|
| }
|
|
|
| +#if !defined(WCHAR_T_IS_UTF16)
|
| +bool TrimString(const string16& input,
|
| + const char16 trim_chars[],
|
| + string16* output) {
|
| + return TrimStringT(input, trim_chars, TRIM_ALL, output) != TRIM_NONE;
|
| +}
|
| +#endif
|
| +
|
| bool TrimString(const std::string& input,
|
| const char trim_chars[],
|
| std::string* output) {
|
| @@ -434,6 +448,14 @@
|
| return TrimStringT(input, kWhitespaceWide, positions, output);
|
| }
|
|
|
| +#if !defined(WCHAR_T_IS_UTF16)
|
| +TrimPositions TrimWhitespace(const string16& input,
|
| + TrimPositions positions,
|
| + string16* output) {
|
| + return TrimStringT(input, kWhitespaceUTF16, positions, output);
|
| +}
|
| +#endif
|
| +
|
| TrimPositions TrimWhitespaceASCII(const std::string& input,
|
| TrimPositions positions,
|
| std::string* output) {
|
| @@ -495,6 +517,13 @@
|
| return CollapseWhitespaceT(text, trim_sequences_with_line_breaks);
|
| }
|
|
|
| +#if !defined(WCHAR_T_IS_UTF16)
|
| +string16 CollapseWhitespace(const string16& text,
|
| + bool trim_sequences_with_line_breaks) {
|
| + return CollapseWhitespaceT(text, trim_sequences_with_line_breaks);
|
| +}
|
| +#endif
|
| +
|
| std::string CollapseWhitespaceASCII(const std::string& text,
|
| bool trim_sequences_with_line_breaks) {
|
| return CollapseWhitespaceT(text, trim_sequences_with_line_breaks);
|
|
|