Index: net/base/escape.h |
=================================================================== |
--- net/base/escape.h (revision 85332) |
+++ net/base/escape.h (working copy) |
@@ -11,34 +11,35 @@ |
#include "base/basictypes.h" |
#include "base/string16.h" |
+#include "net/base/net_api.h" |
// Escaping -------------------------------------------------------------------- |
// Escape a file. This includes: |
// non-printable, non-7bit, and (including space) "#%:<>?[\]^`{|} |
-std::string EscapePath(const std::string& path); |
+NET_API std::string EscapePath(const std::string& path); |
// Escape application/x-www-form-urlencoded content. This includes: |
// non-printable, non-7bit, and (including space) ?>=<;+'&%$#"![\]^`{|} |
// Space is escaped as + and other special characters as %XX (hex). |
-std::string EscapeUrlEncodedData(const std::string& path); |
+NET_API std::string EscapeUrlEncodedData(const std::string& path); |
// Escape all non-ASCII input. |
-std::string EscapeNonASCII(const std::string& input); |
+NET_API std::string EscapeNonASCII(const std::string& input); |
// Escapes characters in text suitable for use as an external protocol handler |
// command. |
// We %XX everything except alphanumerics and %-_.!~*'() and the restricted |
// chracters (;/?:@&=+$,). |
-std::string EscapeExternalHandlerValue(const std::string& text); |
+NET_API std::string EscapeExternalHandlerValue(const std::string& text); |
// Append the given character to the output string, escaping the character if |
// the character would be interpretted as an HTML delimiter. |
-void AppendEscapedCharForHTML(char c, std::string* output); |
+NET_API void AppendEscapedCharForHTML(char c, std::string* output); |
// Escape chars that might cause this text to be interpretted as HTML tags. |
-std::string EscapeForHTML(const std::string& text); |
-string16 EscapeForHTML(const string16& text); |
+NET_API std::string EscapeForHTML(const std::string& text); |
+NET_API string16 EscapeForHTML(const string16& text); |
// Unescaping ------------------------------------------------------------------ |
@@ -92,10 +93,10 @@ |
// which, after unescaping, is supposed to be interpreted as UTF-8, and then |
// converted into full UTF-16 chars. This function won't tell you if any |
// conversions need to take place, it only unescapes. |
-std::string UnescapeURLComponent(const std::string& escaped_text, |
- UnescapeRule::Type rules); |
-string16 UnescapeURLComponent(const string16& escaped_text, |
- UnescapeRule::Type rules); |
+NET_API std::string UnescapeURLComponent(const std::string& escaped_text, |
+ UnescapeRule::Type rules); |
+NET_API string16 UnescapeURLComponent(const string16& escaped_text, |
+ UnescapeRule::Type rules); |
// Unescapes the given substring as a URL, and then tries to interpret the |
// result as being encoded as UTF-8. If the result is convertable into UTF-8, it |
@@ -106,17 +107,18 @@ |
// decoding. If this isn't possible because an offset points past the end of |
// the source strings or into the middle of a multibyte sequence, the offending |
// offset will be set to string16::npos. |offset[s]_for_adjustment| may be NULL. |
-string16 UnescapeAndDecodeUTF8URLComponent(const std::string& text, |
- UnescapeRule::Type rules, |
- size_t* offset_for_adjustment); |
-string16 UnescapeAndDecodeUTF8URLComponentWithOffsets( |
+NET_API string16 UnescapeAndDecodeUTF8URLComponent( |
const std::string& text, |
UnescapeRule::Type rules, |
+ size_t* offset_for_adjustment); |
+NET_API string16 UnescapeAndDecodeUTF8URLComponentWithOffsets( |
+ const std::string& text, |
+ UnescapeRule::Type rules, |
std::vector<size_t>* offsets_for_adjustment); |
// Unescape the following ampersand character codes from |text|: |
// < > & " ' |
-string16 UnescapeForHTML(const string16& text); |
+NET_API string16 UnescapeForHTML(const string16& text); |
// Deprecated ------------------------------------------------------------------ |
@@ -126,19 +128,20 @@ |
// This is basically the same as encodeURIComponent in javascript. |
// For the string16 version, we do a conversion to charset before encoding the |
// string. If the charset doesn't exist, we return false. |
-std::string EscapeQueryParamValue(const std::string& text, bool use_plus); |
-bool EscapeQueryParamValue(const string16& text, const char* codepage, |
- bool use_plus, string16* escaped); |
+NET_API std::string EscapeQueryParamValue(const std::string& text, |
+ bool use_plus); |
+NET_API bool EscapeQueryParamValue(const string16& text, const char* codepage, |
+ bool use_plus, string16* escaped); |
// A specialized version of EscapeQueryParamValue for string16s that |
// assumes the codepage is UTF8. This is provided as a convenience. |
-string16 EscapeQueryParamValueUTF8(const string16& text, bool use_plus); |
+NET_API string16 EscapeQueryParamValueUTF8(const string16& text, bool use_plus); |
// Private Functions (Exposed for Unit Testing) -------------------------------- |
// A function called by std::for_each that will adjust any offset which occurs |
// after one or more encoded characters. |
-struct AdjustEncodingOffset { |
+struct NET_TEST AdjustEncodingOffset { |
typedef std::vector<size_t> Adjustments; |
explicit AdjustEncodingOffset(const Adjustments& adjustments); |