diff options
author | eroman@chromium.org <eroman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-01-13 20:04:11 +0000 |
---|---|---|
committer | eroman@chromium.org <eroman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-01-13 20:04:11 +0000 |
commit | c5ad3e107f28390f9a822df6a7008e3c52d3c017 (patch) | |
tree | 19b1f4578e2bd11f33ce6bdded1b3a4634d18e39 /net/proxy | |
parent | d3ce6c2c6d203f9479530ac46fc5af9e8a9ccffe (diff) | |
download | chromium_src-c5ad3e107f28390f9a822df6a7008e3c52d3c017.zip chromium_src-c5ad3e107f28390f9a822df6a7008e3c52d3c017.tar.gz chromium_src-c5ad3e107f28390f9a822df6a7008e3c52d3c017.tar.bz2 |
Add more functionality to about:net-internals:
(1) Display the cached bad proxies, and how long until they will be retried (addresses an old TODO).
(2) Add a button to clear the bad proxies cache.
(3) Add a button to force refetching of the proxy configuration (this can be used to force refetch of PAC files, very convenient when testing).
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/541045
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36159 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/proxy')
-rw-r--r-- | net/proxy/proxy_service.cc | 8 | ||||
-rw-r--r-- | net/proxy/proxy_service.h | 15 |
2 files changed, 23 insertions, 0 deletions
diff --git a/net/proxy/proxy_service.cc b/net/proxy/proxy_service.cc index b90d781..c5bb70c 100644 --- a/net/proxy/proxy_service.cc +++ b/net/proxy/proxy_service.cc @@ -536,6 +536,14 @@ void ProxyService::PurgeMemory() { resolver_->PurgeMemory(); } +void ProxyService::ForceReloadProxyConfig() { + // Mark the current configuration as being un-initialized, then force it to + // start updating (normally this would happen lazily during the next + // call to ResolveProxy()). + config_.set_id(ProxyConfig::INVALID_ID); + UpdateConfig(NULL); +} + // static ProxyConfigService* ProxyService::CreateSystemProxyConfigService( MessageLoop* io_loop, MessageLoop* file_loop) { diff --git a/net/proxy/proxy_service.h b/net/proxy/proxy_service.h index 8cca773..9a8a1eb 100644 --- a/net/proxy/proxy_service.h +++ b/net/proxy/proxy_service.h @@ -125,6 +125,21 @@ class ProxyService : public base::RefCountedThreadSafe<ProxyService>, return config_; } + // Returns the map of proxies which have been marked as "bad". + const ProxyRetryInfoMap& proxy_retry_info() const { + return proxy_retry_info_; + } + + // Clears the list of bad proxy servers that has been cached. + void ClearBadProxiesCache() { + proxy_retry_info_.clear(); + } + + // Forces refetching the proxy configuration, and applying it. + // This re-does everything from fetching the system configuration, + // to downloading and testing the PAC files. + void ForceReloadProxyConfig(); + // Creates a proxy service that polls |proxy_config_service| to notice when // the proxy settings change. We take ownership of |proxy_config_service|. // Iff |use_v8_resolver| is true, then the V8 implementation is |