summaryrefslogtreecommitdiffstats
path: root/net/proxy/proxy_service.h
diff options
context:
space:
mode:
authoreroman@chromium.org <eroman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-01-06 19:37:13 +0000
committereroman@chromium.org <eroman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-01-06 19:37:13 +0000
commita2e7635d1041978c2bd9cac44efdc6c9b842e049 (patch)
tree73f431c43c404c1c74d639c1d39c5dcf59d150bc /net/proxy/proxy_service.h
parent1fce002c881f8e6e3645aa1bd3b07c43d497773f (diff)
downloadchromium_src-a2e7635d1041978c2bd9cac44efdc6c9b842e049.zip
chromium_src-a2e7635d1041978c2bd9cac44efdc6c9b842e049.tar.gz
chromium_src-a2e7635d1041978c2bd9cac44efdc6c9b842e049.tar.bz2
Re-order some declarations in ProxyService, to ensure that deletion of InitProxyResolver happens *after* the deletion of ProxyResolver.
BUG=24864 TEST=ProxyServiceTest.DeleteWhileInitProxyResolverHasOutstandingFetch, ProxyServiceTest.DeleteWhileInitProxyResolverHasOutstandingSet Review URL: http://codereview.chromium.org/519060 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35643 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/proxy/proxy_service.h')
-rw-r--r--net/proxy/proxy_service.h16
1 files changed, 10 insertions, 6 deletions
diff --git a/net/proxy/proxy_service.h b/net/proxy/proxy_service.h
index ed02b03..2c421d2 100644
--- a/net/proxy/proxy_service.h
+++ b/net/proxy/proxy_service.h
@@ -231,12 +231,6 @@ class ProxyService : public base::RefCountedThreadSafe<ProxyService> {
// heuristic).
static bool IsLocalName(const GURL& url);
- // Helper to download the PAC script (wpad + custom) and apply fallback rules.
- scoped_ptr<InitProxyResolver> init_proxy_resolver_;
-
- // Log from the *last* time |init_proxy_resolver_.Init()| was called, or NULL.
- scoped_refptr<LoadLog> init_proxy_resolver_log_;
-
scoped_ptr<ProxyConfigService> config_service_;
scoped_ptr<ProxyResolver> resolver_;
@@ -266,6 +260,16 @@ class ProxyService : public base::RefCountedThreadSafe<ProxyService> {
// Callback for when |init_proxy_resolver_| is done.
CompletionCallbackImpl<ProxyService> init_proxy_resolver_callback_;
+
+ // Helper to download the PAC script (wpad + custom) and apply fallback rules.
+ //
+ // Note that the declaration is important here: |proxy_script_fetcher_| and
+ // |proxy_resolver_| must outlive |init_proxy_resolver_|.
+ scoped_ptr<InitProxyResolver> init_proxy_resolver_;
+
+ // Log from the *last* time |init_proxy_resolver_.Init()| was called, or NULL.
+ scoped_refptr<LoadLog> init_proxy_resolver_log_;
+
DISALLOW_COPY_AND_ASSIGN(ProxyService);
};