| Index: url/url_parse.h
|
| ===================================================================
|
| --- url/url_parse.h (revision 202256)
|
| +++ url/url_parse.h (working copy)
|
| @@ -9,6 +9,7 @@
|
|
|
| #include "base/basictypes.h"
|
| #include "base/string16.h"
|
| +#include "url/url_export.h"
|
|
|
| namespace url_parse {
|
|
|
| @@ -80,7 +81,7 @@
|
| // else
|
| // url_parse::ParsePathURL(url, url_len, &parsed);
|
| //
|
| -struct Parsed {
|
| +struct URL_EXPORT Parsed {
|
| // Identifies different components.
|
| enum ComponentType {
|
| SCHEME,
|
| @@ -134,8 +135,7 @@
|
| // *QUERY: 14 15 <-
|
| // *REF: 20 20
|
| //
|
| - int CountCharactersBefore(ComponentType type,
|
| - bool include_delimiter) const;
|
| + int CountCharactersBefore(ComponentType type, bool include_delimiter) const;
|
|
|
| // Scheme without the colon: "http://foo"/ would have a scheme of "http".
|
| // The length will be -1 if no scheme is specified ("foo.com"), or 0 if there
|
| @@ -220,32 +220,36 @@
|
| // StandardURL is for when the scheme is known to be one that has an
|
| // authority (host) like "http". This function will not handle weird ones
|
| // like "about:" and "javascript:", or do the right thing for "file:" URLs.
|
| -void ParseStandardURL(const char* url, int url_len, Parsed* parsed);
|
| -void ParseStandardURL(const char16* url, int url_len, Parsed* parsed);
|
| +URL_EXPORT void ParseStandardURL(const char* url,
|
| + int url_len,
|
| + Parsed* parsed);
|
| +URL_EXPORT void ParseStandardURL(const char16* url,
|
| + int url_len,
|
| + Parsed* parsed);
|
|
|
| // PathURL is for when the scheme is known not to have an authority (host)
|
| // section but that aren't file URLs either. The scheme is parsed, and
|
| // everything after the scheme is considered as the path. This is used for
|
| // things like "about:" and "javascript:"
|
| -void ParsePathURL(const char* url, int url_len, Parsed* parsed);
|
| -void ParsePathURL(const char16* url, int url_len, Parsed* parsed);
|
| +URL_EXPORT void ParsePathURL(const char* url, int url_len, Parsed* parsed);
|
| +URL_EXPORT void ParsePathURL(const char16* url, int url_len, Parsed* parsed);
|
|
|
| // FileURL is for file URLs. There are some special rules for interpreting
|
| // these.
|
| -void ParseFileURL(const char* url, int url_len, Parsed* parsed);
|
| -void ParseFileURL(const char16* url, int url_len, Parsed* parsed);
|
| +URL_EXPORT void ParseFileURL(const char* url, int url_len, Parsed* parsed);
|
| +URL_EXPORT void ParseFileURL(const char16* url, int url_len, Parsed* parsed);
|
|
|
| // Filesystem URLs are structured differently than other URLs.
|
| -void ParseFileSystemURL(const char* url,
|
| - int url_len,
|
| - Parsed* parsed);
|
| -void ParseFileSystemURL(const char16* url,
|
| - int url_len,
|
| - Parsed* parsed);
|
| +URL_EXPORT void ParseFileSystemURL(const char* url,
|
| + int url_len,
|
| + Parsed* parsed);
|
| +URL_EXPORT void ParseFileSystemURL(const char16* url,
|
| + int url_len,
|
| + Parsed* parsed);
|
|
|
| // MailtoURL is for mailto: urls. They are made up scheme,path,query
|
| -void ParseMailtoURL(const char* url, int url_len, Parsed* parsed);
|
| -void ParseMailtoURL(const char16* url, int url_len, Parsed* parsed);
|
| +URL_EXPORT void ParseMailtoURL(const char* url, int url_len, Parsed* parsed);
|
| +URL_EXPORT void ParseMailtoURL(const char16* url, int url_len, Parsed* parsed);
|
|
|
| // Helper functions -----------------------------------------------------------
|
|
|
| @@ -269,27 +273,31 @@
|
| // end of the string).
|
| //
|
| // The 8-bit version requires UTF-8 encoding.
|
| -bool ExtractScheme(const char* url, int url_len, Component* scheme);
|
| -bool ExtractScheme(const char16* url, int url_len, Component* scheme);
|
| +URL_EXPORT bool ExtractScheme(const char* url,
|
| + int url_len,
|
| + Component* scheme);
|
| +URL_EXPORT bool ExtractScheme(const char16* url,
|
| + int url_len,
|
| + Component* scheme);
|
|
|
| // Returns true if ch is a character that terminates the authority segment
|
| // of a URL.
|
| -bool IsAuthorityTerminator(char16 ch);
|
| +URL_EXPORT bool IsAuthorityTerminator(char16 ch);
|
|
|
| // Does a best effort parse of input |spec|, in range |auth|. If a particular
|
| // component is not found, it will be set to invalid.
|
| -void ParseAuthority(const char* spec,
|
| - const Component& auth,
|
| - Component* username,
|
| - Component* password,
|
| - Component* hostname,
|
| - Component* port_num);
|
| -void ParseAuthority(const char16* spec,
|
| - const Component& auth,
|
| - Component* username,
|
| - Component* password,
|
| - Component* hostname,
|
| - Component* port_num);
|
| +URL_EXPORT void ParseAuthority(const char* spec,
|
| + const Component& auth,
|
| + Component* username,
|
| + Component* password,
|
| + Component* hostname,
|
| + Component* port_num);
|
| +URL_EXPORT void ParseAuthority(const char16* spec,
|
| + const Component& auth,
|
| + Component* username,
|
| + Component* password,
|
| + Component* hostname,
|
| + Component* port_num);
|
|
|
| // Computes the integer port value from the given port component. The port
|
| // component should have been identified by one of the init functions on
|
| @@ -298,8 +306,8 @@
|
| // The return value will be a positive integer between 0 and 64K, or one of
|
| // the two special values below.
|
| enum SpecialPort { PORT_UNSPECIFIED = -1, PORT_INVALID = -2 };
|
| -int ParsePort(const char* url, const Component& port);
|
| -int ParsePort(const char16* url, const Component& port);
|
| +URL_EXPORT int ParsePort(const char* url, const Component& port);
|
| +URL_EXPORT int ParsePort(const char16* url, const Component& port);
|
|
|
| // Extracts the range of the file name in the given url. The path must
|
| // already have been computed by the parse function, and the matching URL
|
| @@ -311,12 +319,12 @@
|
| // following the last slash.
|
| //
|
| // The 8-bit version requires UTF-8 encoding.
|
| -void ExtractFileName(const char* url,
|
| - const Component& path,
|
| - Component* file_name);
|
| -void ExtractFileName(const char16* url,
|
| - const Component& path,
|
| - Component* file_name);
|
| +URL_EXPORT void ExtractFileName(const char* url,
|
| + const Component& path,
|
| + Component* file_name);
|
| +URL_EXPORT void ExtractFileName(const char16* url,
|
| + const Component& path,
|
| + Component* file_name);
|
|
|
| // Extract the first key/value from the range defined by |*query|. Updates
|
| // |*query| to start at the end of the extracted key/value pair. This is
|
| @@ -333,14 +341,14 @@
|
| //
|
| // If no key/value are found |*key| and |*value| will be unchanged and it will
|
| // return false.
|
| -bool ExtractQueryKeyValue(const char* url,
|
| - Component* query,
|
| - Component* key,
|
| - Component* value);
|
| -bool ExtractQueryKeyValue(const char16* url,
|
| - Component* query,
|
| - Component* key,
|
| - Component* value);
|
| +URL_EXPORT bool ExtractQueryKeyValue(const char* url,
|
| + Component* query,
|
| + Component* key,
|
| + Component* value);
|
| +URL_EXPORT bool ExtractQueryKeyValue(const char16* url,
|
| + Component* query,
|
| + Component* key,
|
| + Component* value);
|
|
|
| } // namespace url_parse
|
|
|
|
|