Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(534)

Side by Side Diff: chrome/browser/io_thread.h

Issue 6012008: Don't leak proxy script fetcher's http transaction factories. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 10 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | chrome/browser/io_thread.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CHROME_BROWSER_IO_THREAD_H_ 5 #ifndef CHROME_BROWSER_IO_THREAD_H_
6 #define CHROME_BROWSER_IO_THREAD_H_ 6 #define CHROME_BROWSER_IO_THREAD_H_
7 #pragma once 7 #pragma once
8 8
9 #include <list> 9 #include <list>
10 #include <string> 10 #include <string>
(...skipping 16 matching lines...) Expand all
27 class ConnectInterceptor; 27 class ConnectInterceptor;
28 class Predictor; 28 class Predictor;
29 } // namespace chrome_browser_net 29 } // namespace chrome_browser_net
30 30
31 namespace net { 31 namespace net {
32 class CertVerifier; 32 class CertVerifier;
33 class ClientSocketFactory; 33 class ClientSocketFactory;
34 class DnsRRResolver; 34 class DnsRRResolver;
35 class HostResolver; 35 class HostResolver;
36 class HttpAuthHandlerFactory; 36 class HttpAuthHandlerFactory;
37 class HttpTransactionFactory;
37 class ProxyScriptFetcher; 38 class ProxyScriptFetcher;
38 class ProxyService; 39 class ProxyService;
39 class SSLConfigService; 40 class SSLConfigService;
40 class URLSecurityManager; 41 class URLSecurityManager;
41 } // namespace net 42 } // namespace net
42 43
43 class IOThread : public BrowserProcessSubThread { 44 class IOThread : public BrowserProcessSubThread {
44 public: 45 public:
45 struct Globals { 46 struct Globals {
46 Globals(); 47 Globals();
47 ~Globals(); 48 ~Globals();
48 49
49 net::ClientSocketFactory* client_socket_factory; 50 net::ClientSocketFactory* client_socket_factory;
50 scoped_ptr<net::HostResolver> host_resolver; 51 scoped_ptr<net::HostResolver> host_resolver;
51 scoped_ptr<net::CertVerifier> cert_verifier; 52 scoped_ptr<net::CertVerifier> cert_verifier;
52 scoped_ptr<net::DnsRRResolver> dnsrr_resolver; 53 scoped_ptr<net::DnsRRResolver> dnsrr_resolver;
53 scoped_refptr<net::SSLConfigService> ssl_config_service; 54 scoped_refptr<net::SSLConfigService> ssl_config_service;
54 scoped_ptr<net::HttpAuthHandlerFactory> http_auth_handler_factory; 55 scoped_ptr<net::HttpAuthHandlerFactory> http_auth_handler_factory;
55 scoped_refptr<net::ProxyService> proxy_script_fetcher_proxy_service; 56 scoped_refptr<net::ProxyService> proxy_script_fetcher_proxy_service;
57 scoped_ptr<net::HttpTransactionFactory>
58 proxy_script_fetcher_http_transaction_factory;
56 scoped_ptr<net::URLSecurityManager> url_security_manager; 59 scoped_ptr<net::URLSecurityManager> url_security_manager;
57 ChromeNetworkDelegate network_delegate; 60 ChromeNetworkDelegate network_delegate;
58 scoped_refptr<URLRequestContext> proxy_script_fetcher_context; 61 scoped_refptr<URLRequestContext> proxy_script_fetcher_context;
59 }; 62 };
60 63
61 // |net_log| must either outlive the IOThread or be NULL. 64 // |net_log| must either outlive the IOThread or be NULL.
62 IOThread(PrefService* local_state, ChromeNetLog* net_log); 65 IOThread(PrefService* local_state, ChromeNetLog* net_log);
63 66
64 virtual ~IOThread(); 67 virtual ~IOThread();
65 68
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after
158 161
159 // Keeps track of all live ChromeURLRequestContextGetters, so the 162 // Keeps track of all live ChromeURLRequestContextGetters, so the
160 // ChromeURLRequestContexts can be released during 163 // ChromeURLRequestContexts can be released during
161 // IOThread::CleanUpAfterMessageLoopDestruction(). 164 // IOThread::CleanUpAfterMessageLoopDestruction().
162 std::list<ChromeURLRequestContextGetter*> url_request_context_getters_; 165 std::list<ChromeURLRequestContextGetter*> url_request_context_getters_;
163 166
164 DISALLOW_COPY_AND_ASSIGN(IOThread); 167 DISALLOW_COPY_AND_ASSIGN(IOThread);
165 }; 168 };
166 169
167 #endif // CHROME_BROWSER_IO_THREAD_H_ 170 #endif // CHROME_BROWSER_IO_THREAD_H_
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/io_thread.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698