diff options
author | eroman@chromium.org <eroman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-10-26 23:51:28 +0000 |
---|---|---|
committer | eroman@chromium.org <eroman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-10-26 23:51:28 +0000 |
commit | 21f20c8940b8b9f06b04ff142716201a2530f0a3 (patch) | |
tree | d68fcccc003b0c7edb4ce7620f2270fb608d4022 /net/proxy/proxy_resolver_js_bindings.h | |
parent | 13d54f79c040c2e6beeed94e096d1fcf2b0f7101 (diff) | |
download | chromium_src-21f20c8940b8b9f06b04ff142716201a2530f0a3.zip chromium_src-21f20c8940b8b9f06b04ff142716201a2530f0a3.tar.gz chromium_src-21f20c8940b8b9f06b04ff142716201a2530f0a3.tar.bz2 |
Add three of the six extensions to PAC that Internet Explorer supports.
The following descriptions were taken from <http://blogs.msdn.com/wndp/articles/IPV6_PAC_Extensions_v0_9.aspx>
----------------------------
* myIpAddressEx():
Returns a semi-colon delimited string containing all IP addresses for localhost (IPv6 and/or IPv4), or an empty string if unable to resolve localhost to an IP address.
* dnsResolveEx(host):
Returns semi-colon delimited string containing IPv6 and IPv4 addresses or an empty string if host is not resolvable.
* isResolvableEx():
Returns TRUE if the host is resolvable to a IPv4 or IPv6 address, FALSE otherwise.
----------------------------
These differ from the vanilla PAC functions in the following ways:
* myIpAddressEx() returns all the addrsses for localhost (including IPv6 ones), whereas myIpAddress() only returns the first IPv4 one.
* On failure, myIpAddress() returns "127.0.0.1" whereas on failure myIpAddressEx() returns empty string.
* dnsResolveEx() returns a list of addresses (including IPV6 ones), whereas dnsResolve() only returns the first IPv4 address.
* On failure, dnsResolve() returns |null|, whereas on failure dnsResolveEx() returns empty string.
BUG=25407
TEST=ProxyResolverV8Test.DNSResolutionFailure, ProxyResolverJSBindingsTest.RestrictAddressFamily, ProxyResolverJSBindingsTest.ExFunctionsReturnList
Review URL: http://codereview.chromium.org/333006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@30127 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/proxy/proxy_resolver_js_bindings.h')
-rw-r--r-- | net/proxy/proxy_resolver_js_bindings.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/net/proxy/proxy_resolver_js_bindings.h b/net/proxy/proxy_resolver_js_bindings.h index 6eff69d..03ad61a 100644 --- a/net/proxy/proxy_resolver_js_bindings.h +++ b/net/proxy/proxy_resolver_js_bindings.h @@ -24,9 +24,21 @@ class ProxyResolverJSBindings { // Handler for "myIpAddress()". Returns empty string on failure. virtual std::string MyIpAddress() = 0; + // Handler for "myIpAddressEx()". Returns empty string on failure. + // + // This is a Microsoft extension to PAC for IPv6, see: + // http://blogs.msdn.com/wndp/articles/IPV6_PAC_Extensions_v0_9.aspx + virtual std::string MyIpAddressEx() = 0; + // Handler for "dnsResolve(host)". Returns empty string on failure. virtual std::string DnsResolve(const std::string& host) = 0; + // Handler for "dnsResolveEx(host)". Returns empty string on failure. + // + // This is a Microsoft extension to PAC for IPv6, see: + // http://blogs.msdn.com/wndp/articles/IPV6_PAC_Extensions_v0_9.aspx + virtual std::string DnsResolveEx(const std::string& host) = 0; + // Handler for when an error is encountered. |line_number| may be -1 // if a line number is not applicable to this error. virtual void OnError(int line_number, const std::string& error) = 0; |