| Index: url/url_canon.h
|
| ===================================================================
|
| --- url/url_canon.h (revision 202256)
|
| +++ url/url_canon.h (working copy)
|
| @@ -9,6 +9,7 @@
|
| #include <string.h>
|
|
|
| #include "base/string16.h"
|
| +#include "url/url_export.h"
|
| #include "url/url_parse.h"
|
|
|
| namespace url_canon {
|
| @@ -186,7 +187,7 @@
|
| //
|
| // Embedders will want to see the unit test for the ICU version.
|
|
|
| -class CharsetConverter {
|
| +class URL_EXPORT CharsetConverter {
|
| public:
|
| CharsetConverter() {}
|
| virtual ~CharsetConverter() {}
|
| @@ -224,12 +225,12 @@
|
| //
|
| // Therefore, callers should not use the buffer, since it may actuall be empty,
|
| // use the computed pointer and |*output_len| instead.
|
| -const char* RemoveURLWhitespace(const char* input, int input_len,
|
| - CanonOutputT<char>* buffer,
|
| - int* output_len);
|
| -const char16* RemoveURLWhitespace(const char16* input, int input_len,
|
| - CanonOutputT<char16>* buffer,
|
| - int* output_len);
|
| +URL_EXPORT const char* RemoveURLWhitespace(const char* input, int input_len,
|
| + CanonOutputT<char>* buffer,
|
| + int* output_len);
|
| +URL_EXPORT const char16* RemoveURLWhitespace(const char16* input, int input_len,
|
| + CanonOutputT<char16>* buffer,
|
| + int* output_len);
|
|
|
| // IDN ------------------------------------------------------------------------
|
|
|
| @@ -242,7 +243,9 @@
|
| // the length of the output will be set to the length of the new host name.
|
| //
|
| // On error, returns false. The output in this case is undefined.
|
| -bool IDNToASCII(const char16* src, int src_len, CanonOutputW* output);
|
| +URL_EXPORT bool IDNToASCII(const char16* src,
|
| + int src_len,
|
| + CanonOutputW* output);
|
|
|
| // Piece-by-piece canonicalizers ----------------------------------------------
|
| //
|
| @@ -268,14 +271,14 @@
|
| // URLs.
|
| //
|
| // The 8-bit version requires UTF-8 encoding.
|
| -bool CanonicalizeScheme(const char* spec,
|
| - const url_parse::Component& scheme,
|
| - CanonOutput* output,
|
| - url_parse::Component* out_scheme);
|
| -bool CanonicalizeScheme(const char16* spec,
|
| - const url_parse::Component& scheme,
|
| - CanonOutput* output,
|
| - url_parse::Component* out_scheme);
|
| +URL_EXPORT bool CanonicalizeScheme(const char* spec,
|
| + const url_parse::Component& scheme,
|
| + CanonOutput* output,
|
| + url_parse::Component* out_scheme);
|
| +URL_EXPORT bool CanonicalizeScheme(const char16* spec,
|
| + const url_parse::Component& scheme,
|
| + CanonOutput* output,
|
| + url_parse::Component* out_scheme);
|
|
|
| // User info: username/password. If present, this will add the delimiters so
|
| // the output will be "<username>:<password>@" or "<username>@". Empty
|
| @@ -287,20 +290,20 @@
|
| // is legal as long as the two components don't overlap.
|
| //
|
| // The 8-bit version requires UTF-8 encoding.
|
| -bool CanonicalizeUserInfo(const char* username_source,
|
| - const url_parse::Component& username,
|
| - const char* password_source,
|
| - const url_parse::Component& password,
|
| - CanonOutput* output,
|
| - url_parse::Component* out_username,
|
| - url_parse::Component* out_password);
|
| -bool CanonicalizeUserInfo(const char16* username_source,
|
| - const url_parse::Component& username,
|
| - const char16* password_source,
|
| - const url_parse::Component& password,
|
| - CanonOutput* output,
|
| - url_parse::Component* out_username,
|
| - url_parse::Component* out_password);
|
| +URL_EXPORT bool CanonicalizeUserInfo(const char* username_source,
|
| + const url_parse::Component& username,
|
| + const char* password_source,
|
| + const url_parse::Component& password,
|
| + CanonOutput* output,
|
| + url_parse::Component* out_username,
|
| + url_parse::Component* out_password);
|
| +URL_EXPORT bool CanonicalizeUserInfo(const char16* username_source,
|
| + const url_parse::Component& username,
|
| + const char16* password_source,
|
| + const url_parse::Component& password,
|
| + CanonOutput* output,
|
| + url_parse::Component* out_username,
|
| + url_parse::Component* out_password);
|
|
|
|
|
| // This structure holds detailed state exported from the IP/Host canonicalizers.
|
| @@ -353,27 +356,27 @@
|
| //
|
| // The 8-bit version requires UTF-8 encoding. Use this version when you only
|
| // need to know whether canonicalization succeeded.
|
| -bool CanonicalizeHost(const char* spec,
|
| - const url_parse::Component& host,
|
| - CanonOutput* output,
|
| - url_parse::Component* out_host);
|
| -bool CanonicalizeHost(const char16* spec,
|
| - const url_parse::Component& host,
|
| - CanonOutput* output,
|
| - url_parse::Component* out_host);
|
| +URL_EXPORT bool CanonicalizeHost(const char* spec,
|
| + const url_parse::Component& host,
|
| + CanonOutput* output,
|
| + url_parse::Component* out_host);
|
| +URL_EXPORT bool CanonicalizeHost(const char16* spec,
|
| + const url_parse::Component& host,
|
| + CanonOutput* output,
|
| + url_parse::Component* out_host);
|
|
|
| // Extended version of CanonicalizeHost, which returns additional information.
|
| // Use this when you need to know whether the hostname was an IP address.
|
| // A successful return is indicated by host_info->family != BROKEN. See the
|
| // definition of CanonHostInfo above for details.
|
| -void CanonicalizeHostVerbose(const char* spec,
|
| - const url_parse::Component& host,
|
| - CanonOutput* output,
|
| - CanonHostInfo* host_info);
|
| -void CanonicalizeHostVerbose(const char16* spec,
|
| - const url_parse::Component& host,
|
| - CanonOutput* output,
|
| - CanonHostInfo* host_info);
|
| +URL_EXPORT void CanonicalizeHostVerbose(const char* spec,
|
| + const url_parse::Component& host,
|
| + CanonOutput* output,
|
| + CanonHostInfo* host_info);
|
| +URL_EXPORT void CanonicalizeHostVerbose(const char16* spec,
|
| + const url_parse::Component& host,
|
| + CanonOutput* output,
|
| + CanonHostInfo* host_info);
|
|
|
|
|
| // IP addresses.
|
| @@ -386,34 +389,34 @@
|
| // This is called AUTOMATICALLY from the host canonicalizer, which ensures that
|
| // the input is unescaped and name-prepped, etc. It should not normally be
|
| // necessary or wise to call this directly.
|
| -void CanonicalizeIPAddress(const char* spec,
|
| - const url_parse::Component& host,
|
| - CanonOutput* output,
|
| - CanonHostInfo* host_info);
|
| -void CanonicalizeIPAddress(const char16* spec,
|
| - const url_parse::Component& host,
|
| - CanonOutput* output,
|
| - CanonHostInfo* host_info);
|
| +URL_EXPORT void CanonicalizeIPAddress(const char* spec,
|
| + const url_parse::Component& host,
|
| + CanonOutput* output,
|
| + CanonHostInfo* host_info);
|
| +URL_EXPORT void CanonicalizeIPAddress(const char16* spec,
|
| + const url_parse::Component& host,
|
| + CanonOutput* output,
|
| + CanonHostInfo* host_info);
|
|
|
| // Port: this function will add the colon for the port if a port is present.
|
| // The caller can pass url_parse::PORT_UNSPECIFIED as the
|
| // default_port_for_scheme argument if there is no default port.
|
| //
|
| // The 8-bit version requires UTF-8 encoding.
|
| -bool CanonicalizePort(const char* spec,
|
| - const url_parse::Component& port,
|
| - int default_port_for_scheme,
|
| - CanonOutput* output,
|
| - url_parse::Component* out_port);
|
| -bool CanonicalizePort(const char16* spec,
|
| - const url_parse::Component& port,
|
| - int default_port_for_scheme,
|
| - CanonOutput* output,
|
| - url_parse::Component* out_port);
|
| +URL_EXPORT bool CanonicalizePort(const char* spec,
|
| + const url_parse::Component& port,
|
| + int default_port_for_scheme,
|
| + CanonOutput* output,
|
| + url_parse::Component* out_port);
|
| +URL_EXPORT bool CanonicalizePort(const char16* spec,
|
| + const url_parse::Component& port,
|
| + int default_port_for_scheme,
|
| + CanonOutput* output,
|
| + url_parse::Component* out_port);
|
|
|
| // Returns the default port for the given canonical scheme, or PORT_UNSPECIFIED
|
| // if the scheme is unknown.
|
| -int DefaultPortForScheme(const char* scheme, int scheme_len);
|
| +URL_EXPORT int DefaultPortForScheme(const char* scheme, int scheme_len);
|
|
|
| // Path. If the input does not begin in a slash (including if the input is
|
| // empty), we'll prepend a slash to the path to make it canonical.
|
| @@ -424,14 +427,14 @@
|
| // an issue. Somebody giving us an 8-bit path is responsible for generating
|
| // the path that the server expects (we'll escape high-bit characters), so
|
| // if something is invalid, it's their problem.
|
| -bool CanonicalizePath(const char* spec,
|
| - const url_parse::Component& path,
|
| - CanonOutput* output,
|
| - url_parse::Component* out_path);
|
| -bool CanonicalizePath(const char16* spec,
|
| - const url_parse::Component& path,
|
| - CanonOutput* output,
|
| - url_parse::Component* out_path);
|
| +URL_EXPORT bool CanonicalizePath(const char* spec,
|
| + const url_parse::Component& path,
|
| + CanonOutput* output,
|
| + url_parse::Component* out_path);
|
| +URL_EXPORT bool CanonicalizePath(const char16* spec,
|
| + const url_parse::Component& path,
|
| + CanonOutput* output,
|
| + url_parse::Component* out_path);
|
|
|
| // Canonicalizes the input as a file path. This is like CanonicalizePath except
|
| // that it also handles Windows drive specs. For example, the path can begin
|
| @@ -439,14 +442,14 @@
|
| // The string will be appended to |*output| and |*out_path| will be updated.
|
| //
|
| // The 8-bit version requires UTF-8 encoding.
|
| -bool FileCanonicalizePath(const char* spec,
|
| - const url_parse::Component& path,
|
| - CanonOutput* output,
|
| - url_parse::Component* out_path);
|
| -bool FileCanonicalizePath(const char16* spec,
|
| - const url_parse::Component& path,
|
| - CanonOutput* output,
|
| - url_parse::Component* out_path);
|
| +URL_EXPORT bool FileCanonicalizePath(const char* spec,
|
| + const url_parse::Component& path,
|
| + CanonOutput* output,
|
| + url_parse::Component* out_path);
|
| +URL_EXPORT bool FileCanonicalizePath(const char16* spec,
|
| + const url_parse::Component& path,
|
| + CanonOutput* output,
|
| + url_parse::Component* out_path);
|
|
|
| // Query: Prepends the ? if needed.
|
| //
|
| @@ -460,16 +463,16 @@
|
| // if necessary, for ASCII input, no conversions are necessary.
|
| //
|
| // The converter can be NULL. In this case, the output encoding will be UTF-8.
|
| -void CanonicalizeQuery(const char* spec,
|
| - const url_parse::Component& query,
|
| - CharsetConverter* converter,
|
| - CanonOutput* output,
|
| - url_parse::Component* out_query);
|
| -void CanonicalizeQuery(const char16* spec,
|
| - const url_parse::Component& query,
|
| - CharsetConverter* converter,
|
| - CanonOutput* output,
|
| - url_parse::Component* out_query);
|
| +URL_EXPORT void CanonicalizeQuery(const char* spec,
|
| + const url_parse::Component& query,
|
| + CharsetConverter* converter,
|
| + CanonOutput* output,
|
| + url_parse::Component* out_query);
|
| +URL_EXPORT void CanonicalizeQuery(const char16* spec,
|
| + const url_parse::Component& query,
|
| + CharsetConverter* converter,
|
| + CanonOutput* output,
|
| + url_parse::Component* out_query);
|
|
|
| // Ref: Prepends the # if needed. The output will be UTF-8 (this is the only
|
| // canonicalizer that does not produce ASCII output). The output is
|
| @@ -477,14 +480,14 @@
|
| //
|
| // This function will not fail. If the input is invalid UTF-8/UTF-16, we'll use
|
| // the "Unicode replacement character" for the confusing bits and copy the rest.
|
| -void CanonicalizeRef(const char* spec,
|
| - const url_parse::Component& path,
|
| - CanonOutput* output,
|
| - url_parse::Component* out_path);
|
| -void CanonicalizeRef(const char16* spec,
|
| - const url_parse::Component& path,
|
| - CanonOutput* output,
|
| - url_parse::Component* out_path);
|
| +URL_EXPORT void CanonicalizeRef(const char* spec,
|
| + const url_parse::Component& path,
|
| + CanonOutput* output,
|
| + url_parse::Component* out_path);
|
| +URL_EXPORT void CanonicalizeRef(const char16* spec,
|
| + const url_parse::Component& path,
|
| + CanonOutput* output,
|
| + url_parse::Component* out_path);
|
|
|
| // Full canonicalizer ---------------------------------------------------------
|
| //
|
| @@ -497,75 +500,75 @@
|
| // The 8-bit versions require UTF-8 encoding.
|
|
|
| // Use for standard URLs with authorities and paths.
|
| -bool CanonicalizeStandardURL(const char* spec,
|
| - int spec_len,
|
| - const url_parse::Parsed& parsed,
|
| - CharsetConverter* query_converter,
|
| - CanonOutput* output,
|
| - url_parse::Parsed* new_parsed);
|
| -bool CanonicalizeStandardURL(const char16* spec,
|
| - int spec_len,
|
| - const url_parse::Parsed& parsed,
|
| - CharsetConverter* query_converter,
|
| - CanonOutput* output,
|
| - url_parse::Parsed* new_parsed);
|
| +URL_EXPORT bool CanonicalizeStandardURL(const char* spec,
|
| + int spec_len,
|
| + const url_parse::Parsed& parsed,
|
| + CharsetConverter* query_converter,
|
| + CanonOutput* output,
|
| + url_parse::Parsed* new_parsed);
|
| +URL_EXPORT bool CanonicalizeStandardURL(const char16* spec,
|
| + int spec_len,
|
| + const url_parse::Parsed& parsed,
|
| + CharsetConverter* query_converter,
|
| + CanonOutput* output,
|
| + url_parse::Parsed* new_parsed);
|
|
|
| // Use for file URLs.
|
| -bool CanonicalizeFileURL(const char* spec,
|
| - int spec_len,
|
| - const url_parse::Parsed& parsed,
|
| - CharsetConverter* query_converter,
|
| - CanonOutput* output,
|
| - url_parse::Parsed* new_parsed);
|
| -bool CanonicalizeFileURL(const char16* spec,
|
| - int spec_len,
|
| - const url_parse::Parsed& parsed,
|
| - CharsetConverter* query_converter,
|
| - CanonOutput* output,
|
| - url_parse::Parsed* new_parsed);
|
| +URL_EXPORT bool CanonicalizeFileURL(const char* spec,
|
| + int spec_len,
|
| + const url_parse::Parsed& parsed,
|
| + CharsetConverter* query_converter,
|
| + CanonOutput* output,
|
| + url_parse::Parsed* new_parsed);
|
| +URL_EXPORT bool CanonicalizeFileURL(const char16* spec,
|
| + int spec_len,
|
| + const url_parse::Parsed& parsed,
|
| + CharsetConverter* query_converter,
|
| + CanonOutput* output,
|
| + url_parse::Parsed* new_parsed);
|
|
|
| // Use for filesystem URLs.
|
| -bool CanonicalizeFileSystemURL(const char* spec,
|
| - int spec_len,
|
| - const url_parse::Parsed& parsed,
|
| - CharsetConverter* query_converter,
|
| - CanonOutput* output,
|
| - url_parse::Parsed* new_parsed);
|
| -bool CanonicalizeFileSystemURL(const char16* spec,
|
| - int spec_len,
|
| - const url_parse::Parsed& parsed,
|
| - CharsetConverter* query_converter,
|
| - CanonOutput* output,
|
| - url_parse::Parsed* new_parsed);
|
| +URL_EXPORT bool CanonicalizeFileSystemURL(const char* spec,
|
| + int spec_len,
|
| + const url_parse::Parsed& parsed,
|
| + CharsetConverter* query_converter,
|
| + CanonOutput* output,
|
| + url_parse::Parsed* new_parsed);
|
| +URL_EXPORT bool CanonicalizeFileSystemURL(const char16* spec,
|
| + int spec_len,
|
| + const url_parse::Parsed& parsed,
|
| + CharsetConverter* query_converter,
|
| + CanonOutput* output,
|
| + url_parse::Parsed* new_parsed);
|
|
|
| // Use for path URLs such as javascript. This does not modify the path in any
|
| // way, for example, by escaping it.
|
| -bool CanonicalizePathURL(const char* spec,
|
| - int spec_len,
|
| - const url_parse::Parsed& parsed,
|
| - CanonOutput* output,
|
| - url_parse::Parsed* new_parsed);
|
| -bool CanonicalizePathURL(const char16* spec,
|
| - int spec_len,
|
| - const url_parse::Parsed& parsed,
|
| - CanonOutput* output,
|
| - url_parse::Parsed* new_parsed);
|
| +URL_EXPORT bool CanonicalizePathURL(const char* spec,
|
| + int spec_len,
|
| + const url_parse::Parsed& parsed,
|
| + CanonOutput* output,
|
| + url_parse::Parsed* new_parsed);
|
| +URL_EXPORT bool CanonicalizePathURL(const char16* spec,
|
| + int spec_len,
|
| + const url_parse::Parsed& parsed,
|
| + CanonOutput* output,
|
| + url_parse::Parsed* new_parsed);
|
|
|
| // Use for mailto URLs. This "canonicalizes" the url into a path and query
|
| // component. It does not attempt to merge "to" fields. It uses UTF-8 for
|
| // the query encoding if there is a query. This is because a mailto URL is
|
| // really intended for an external mail program, and the encoding of a page,
|
| // etc. which would influence a query encoding normally are irrelevant.
|
| -bool CanonicalizeMailtoURL(const char* spec,
|
| - int spec_len,
|
| - const url_parse::Parsed& parsed,
|
| - CanonOutput* output,
|
| - url_parse::Parsed* new_parsed);
|
| -bool CanonicalizeMailtoURL(const char16* spec,
|
| - int spec_len,
|
| - const url_parse::Parsed& parsed,
|
| - CanonOutput* output,
|
| - url_parse::Parsed* new_parsed);
|
| +URL_EXPORT bool CanonicalizeMailtoURL(const char* spec,
|
| + int spec_len,
|
| + const url_parse::Parsed& parsed,
|
| + CanonOutput* output,
|
| + url_parse::Parsed* new_parsed);
|
| +URL_EXPORT bool CanonicalizeMailtoURL(const char16* spec,
|
| + int spec_len,
|
| + const url_parse::Parsed& parsed,
|
| + CanonOutput* output,
|
| + url_parse::Parsed* new_parsed);
|
|
|
| // Part replacer --------------------------------------------------------------
|
|
|
| @@ -750,74 +753,74 @@
|
| };
|
|
|
| // The base must be an 8-bit canonical URL.
|
| -bool ReplaceStandardURL(const char* base,
|
| - const url_parse::Parsed& base_parsed,
|
| - const Replacements<char>& replacements,
|
| - CharsetConverter* query_converter,
|
| - CanonOutput* output,
|
| - url_parse::Parsed* new_parsed);
|
| -bool ReplaceStandardURL(const char* base,
|
| - const url_parse::Parsed& base_parsed,
|
| - const Replacements<char16>& replacements,
|
| - CharsetConverter* query_converter,
|
| - CanonOutput* output,
|
| - url_parse::Parsed* new_parsed);
|
| +URL_EXPORT bool ReplaceStandardURL(const char* base,
|
| + const url_parse::Parsed& base_parsed,
|
| + const Replacements<char>& replacements,
|
| + CharsetConverter* query_converter,
|
| + CanonOutput* output,
|
| + url_parse::Parsed* new_parsed);
|
| +URL_EXPORT bool ReplaceStandardURL(const char* base,
|
| + const url_parse::Parsed& base_parsed,
|
| + const Replacements<char16>& replacements,
|
| + CharsetConverter* query_converter,
|
| + CanonOutput* output,
|
| + url_parse::Parsed* new_parsed);
|
|
|
| // Filesystem URLs can only have the path, query, or ref replaced.
|
| // All other components will be ignored.
|
| -bool ReplaceFileSystemURL(const char* base,
|
| - const url_parse::Parsed& base_parsed,
|
| - const Replacements<char>& replacements,
|
| - CharsetConverter* query_converter,
|
| - CanonOutput* output,
|
| - url_parse::Parsed* new_parsed);
|
| -bool ReplaceFileSystemURL(const char* base,
|
| - const url_parse::Parsed& base_parsed,
|
| - const Replacements<char16>& replacements,
|
| - CharsetConverter* query_converter,
|
| - CanonOutput* output,
|
| - url_parse::Parsed* new_parsed);
|
| +URL_EXPORT bool ReplaceFileSystemURL(const char* base,
|
| + const url_parse::Parsed& base_parsed,
|
| + const Replacements<char>& replacements,
|
| + CharsetConverter* query_converter,
|
| + CanonOutput* output,
|
| + url_parse::Parsed* new_parsed);
|
| +URL_EXPORT bool ReplaceFileSystemURL(const char* base,
|
| + const url_parse::Parsed& base_parsed,
|
| + const Replacements<char16>& replacements,
|
| + CharsetConverter* query_converter,
|
| + CanonOutput* output,
|
| + url_parse::Parsed* new_parsed);
|
|
|
| // Replacing some parts of a file URL is not permitted. Everything except
|
| // the host, path, query, and ref will be ignored.
|
| -bool ReplaceFileURL(const char* base,
|
| - const url_parse::Parsed& base_parsed,
|
| - const Replacements<char>& replacements,
|
| - CharsetConverter* query_converter,
|
| - CanonOutput* output,
|
| - url_parse::Parsed* new_parsed);
|
| -bool ReplaceFileURL(const char* base,
|
| - const url_parse::Parsed& base_parsed,
|
| - const Replacements<char16>& replacements,
|
| - CharsetConverter* query_converter,
|
| - CanonOutput* output,
|
| - url_parse::Parsed* new_parsed);
|
| +URL_EXPORT bool ReplaceFileURL(const char* base,
|
| + const url_parse::Parsed& base_parsed,
|
| + const Replacements<char>& replacements,
|
| + CharsetConverter* query_converter,
|
| + CanonOutput* output,
|
| + url_parse::Parsed* new_parsed);
|
| +URL_EXPORT bool ReplaceFileURL(const char* base,
|
| + const url_parse::Parsed& base_parsed,
|
| + const Replacements<char16>& replacements,
|
| + CharsetConverter* query_converter,
|
| + CanonOutput* output,
|
| + url_parse::Parsed* new_parsed);
|
|
|
| // Path URLs can only have the scheme and path replaced. All other components
|
| // will be ignored.
|
| -bool ReplacePathURL(const char* base,
|
| - const url_parse::Parsed& base_parsed,
|
| - const Replacements<char>& replacements,
|
| - CanonOutput* output,
|
| - url_parse::Parsed* new_parsed);
|
| -bool ReplacePathURL(const char* base,
|
| - const url_parse::Parsed& base_parsed,
|
| - const Replacements<char16>& replacements,
|
| - CanonOutput* output,
|
| - url_parse::Parsed* new_parsed);
|
| +URL_EXPORT bool ReplacePathURL(const char* base,
|
| + const url_parse::Parsed& base_parsed,
|
| + const Replacements<char>& replacements,
|
| + CanonOutput* output,
|
| + url_parse::Parsed* new_parsed);
|
| +URL_EXPORT bool ReplacePathURL(const char* base,
|
| + const url_parse::Parsed& base_parsed,
|
| + const Replacements<char16>& replacements,
|
| + CanonOutput* output,
|
| + url_parse::Parsed* new_parsed);
|
|
|
| // Mailto URLs can only have the scheme, path, and query replaced.
|
| // All other components will be ignored.
|
| -bool ReplaceMailtoURL(const char* base,
|
| - const url_parse::Parsed& base_parsed,
|
| - const Replacements<char>& replacements,
|
| - CanonOutput* output,
|
| - url_parse::Parsed* new_parsed);
|
| -bool ReplaceMailtoURL(const char* base,
|
| - const url_parse::Parsed& base_parsed,
|
| - const Replacements<char16>& replacements,
|
| - CanonOutput* output,
|
| - url_parse::Parsed* new_parsed);
|
| +URL_EXPORT bool ReplaceMailtoURL(const char* base,
|
| + const url_parse::Parsed& base_parsed,
|
| + const Replacements<char>& replacements,
|
| + CanonOutput* output,
|
| + url_parse::Parsed* new_parsed);
|
| +URL_EXPORT bool ReplaceMailtoURL(const char* base,
|
| + const url_parse::Parsed& base_parsed,
|
| + const Replacements<char16>& replacements,
|
| + CanonOutput* output,
|
| + url_parse::Parsed* new_parsed);
|
|
|
| // Relative URL ---------------------------------------------------------------
|
|
|
| @@ -832,20 +835,20 @@
|
| // not). Failure means that the combination of URLs doesn't make any sense.
|
| //
|
| // The base URL should always be canonical, therefore is ASCII.
|
| -bool IsRelativeURL(const char* base,
|
| - const url_parse::Parsed& base_parsed,
|
| - const char* fragment,
|
| - int fragment_len,
|
| - bool is_base_hierarchical,
|
| - bool* is_relative,
|
| - url_parse::Component* relative_component);
|
| -bool IsRelativeURL(const char* base,
|
| - const url_parse::Parsed& base_parsed,
|
| - const char16* fragment,
|
| - int fragment_len,
|
| - bool is_base_hierarchical,
|
| - bool* is_relative,
|
| - url_parse::Component* relative_component);
|
| +URL_EXPORT bool IsRelativeURL(const char* base,
|
| + const url_parse::Parsed& base_parsed,
|
| + const char* fragment,
|
| + int fragment_len,
|
| + bool is_base_hierarchical,
|
| + bool* is_relative,
|
| + url_parse::Component* relative_component);
|
| +URL_EXPORT bool IsRelativeURL(const char* base,
|
| + const url_parse::Parsed& base_parsed,
|
| + const char16* fragment,
|
| + int fragment_len,
|
| + bool is_base_hierarchical,
|
| + bool* is_relative,
|
| + url_parse::Component* relative_component);
|
|
|
| // Given a canonical parsed source URL, a URL fragment known to be relative,
|
| // and the identified relevant portion of the relative URL (computed by
|
| @@ -865,22 +868,24 @@
|
| // Returns true on success. On failure, the output will be "something
|
| // reasonable" that will be consistent and valid, just probably not what
|
| // was intended by the web page author or caller.
|
| -bool ResolveRelativeURL(const char* base_url,
|
| - const url_parse::Parsed& base_parsed,
|
| - bool base_is_file,
|
| - const char* relative_url,
|
| - const url_parse::Component& relative_component,
|
| - CharsetConverter* query_converter,
|
| - CanonOutput* output,
|
| - url_parse::Parsed* out_parsed);
|
| -bool ResolveRelativeURL(const char* base_url,
|
| - const url_parse::Parsed& base_parsed,
|
| - bool base_is_file,
|
| - const char16* relative_url,
|
| - const url_parse::Component& relative_component,
|
| - CharsetConverter* query_converter,
|
| - CanonOutput* output,
|
| - url_parse::Parsed* out_parsed);
|
| +URL_EXPORT bool ResolveRelativeURL(
|
| + const char* base_url,
|
| + const url_parse::Parsed& base_parsed,
|
| + bool base_is_file,
|
| + const char* relative_url,
|
| + const url_parse::Component& relative_component,
|
| + CharsetConverter* query_converter,
|
| + CanonOutput* output,
|
| + url_parse::Parsed* out_parsed);
|
| +URL_EXPORT bool ResolveRelativeURL(
|
| + const char* base_url,
|
| + const url_parse::Parsed& base_parsed,
|
| + bool base_is_file,
|
| + const char16* relative_url,
|
| + const url_parse::Component& relative_component,
|
| + CharsetConverter* query_converter,
|
| + CanonOutput* output,
|
| + url_parse::Parsed* out_parsed);
|
|
|
| } // namespace url_canon
|
|
|
|
|