diff options
author | eroman@chromium.org <eroman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-01-05 20:09:21 +0000 |
---|---|---|
committer | eroman@chromium.org <eroman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-01-05 20:09:21 +0000 |
commit | 69719063c6ddf24d63762a5519efb11dc412a3ee (patch) | |
tree | a12969e6a91c61ec66cdea7d6fd622290256cc16 /net/proxy/proxy_list.h | |
parent | 1515a1d6e4355ef55dc9ea9e1113d4bf0f8362c9 (diff) | |
download | chromium_src-69719063c6ddf24d63762a5519efb11dc412a3ee.zip chromium_src-69719063c6ddf24d63762a5519efb11dc412a3ee.tar.gz chromium_src-69719063c6ddf24d63762a5519efb11dc412a3ee.tar.bz2 |
Remove the implicit fallback to DIRECT when proxies fail. This better matches other browsers, and simplifies the code.
To better understand what this means, here are some examples how the behaviors will differ for the user:
(1) You start chrome with --proxy-server="foobar:80".
The server "foobar:80" is refusing connections.
Before: Would fallback to direct after failing to connect through foobar:80.
Now: Will error-out with connection refused after failing to connect through foobar:80.
(2) You start chrome with --proxy-pac-url="file:///foobar.pac".
The server "foobar:80" is unreachable, and foobar.pac reads:
function FindProxyForURL(url, host) {
return "PROXY foobar:80";
}
Before: Would fallback to direct after failing to connect through foobar:80.
Now: Will error-out with connection refused after failing to connect through foobar:80.
(3) You start chrome with --proxy-pac-url="file:///foobar.pac".
The server "foobar:80" is unreachable, and foobar.pac reads:
function FindProxyForURL(url, host) {
return "PROXY foobar:80; DIRECT";
}
*No change, since the fallback to DIRECT is explicit in the PAC script*
BUG=12303
Review URL: http://codereview.chromium.org/502068
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35549 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/proxy/proxy_list.h')
-rw-r--r-- | net/proxy/proxy_list.h | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/net/proxy/proxy_list.h b/net/proxy/proxy_list.h index 884dec9..f05d4cf 100644 --- a/net/proxy/proxy_list.h +++ b/net/proxy/proxy_list.h @@ -32,8 +32,12 @@ class ProxyList { // |scheme_bit_field| is a bunch of ProxyServer::Scheme bitwise ORed together. void RemoveProxiesWithoutScheme(int scheme_bit_field); - // Returns the first valid proxy server in the list. - ProxyServer Get() const; + // Returns true if there is nothing left in the ProxyList. + bool IsEmpty() const; + + // Returns the first proxy server in the list. It is only valid to call + // this if !IsEmpty(). + const ProxyServer& Get() const; // Set the list by parsing the pac result |pac_string|. // Some examples for |pac_string|: |