OLD | NEW |
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 <set> | 10 #include <set> |
11 #include <string> | 11 #include <string> |
12 #include "base/basictypes.h" | 12 #include "base/basictypes.h" |
13 #include "base/ref_counted.h" | 13 #include "base/ref_counted.h" |
14 #include "base/scoped_ptr.h" | 14 #include "base/scoped_ptr.h" |
15 #include "chrome/browser/browser_process_sub_thread.h" | 15 #include "chrome/browser/browser_process_sub_thread.h" |
16 #include "chrome/browser/net/chrome_network_delegate.h" | 16 #include "chrome/browser/net/chrome_network_delegate.h" |
17 #include "chrome/common/net/predictor_common.h" | 17 #include "chrome/common/net/predictor_common.h" |
18 #include "net/base/network_change_notifier.h" | 18 #include "net/base/network_change_notifier.h" |
19 | 19 |
20 class ChromeNetLog; | 20 class ChromeNetLog; |
21 class ChromeURLRequestContextGetter; | 21 class ChromeURLRequestContextGetter; |
22 class ListValue; | 22 class ListValue; |
23 class PrefService; | 23 class PrefService; |
| 24 class PrerenderInterceptor; |
24 class URLRequestContext; | 25 class URLRequestContext; |
25 | 26 |
26 namespace chrome_browser_net { | 27 namespace chrome_browser_net { |
27 class ConnectInterceptor; | 28 class ConnectInterceptor; |
28 class Predictor; | 29 class Predictor; |
29 class PrerenderInterceptor; | |
30 } // namespace chrome_browser_net | 30 } // namespace chrome_browser_net |
31 | 31 |
32 namespace net { | 32 namespace net { |
33 class DnsRRResolver; | 33 class DnsRRResolver; |
34 class HostResolver; | 34 class HostResolver; |
35 class HttpAuthHandlerFactory; | 35 class HttpAuthHandlerFactory; |
36 class ProxyScriptFetcher; | 36 class ProxyScriptFetcher; |
37 class URLSecurityManager; | 37 class URLSecurityManager; |
38 } // namespace net | 38 } // namespace net |
39 | 39 |
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
149 | 149 |
150 // These member variables are initialized by a task posted to the IO thread, | 150 // These member variables are initialized by a task posted to the IO thread, |
151 // which gets posted by calling certain member functions of IOThread. | 151 // which gets posted by calling certain member functions of IOThread. |
152 | 152 |
153 // Note: we user explicit pointers rather than smart pointers to be more | 153 // Note: we user explicit pointers rather than smart pointers to be more |
154 // explicit about destruction order, and ensure that there is no chance that | 154 // explicit about destruction order, and ensure that there is no chance that |
155 // these observers would be used accidentally after we have begun to tear | 155 // these observers would be used accidentally after we have begun to tear |
156 // down. | 156 // down. |
157 chrome_browser_net::ConnectInterceptor* speculative_interceptor_; | 157 chrome_browser_net::ConnectInterceptor* speculative_interceptor_; |
158 chrome_browser_net::Predictor* predictor_; | 158 chrome_browser_net::Predictor* predictor_; |
159 scoped_ptr<chrome_browser_net::PrerenderInterceptor> | 159 scoped_ptr<PrerenderInterceptor> prerender_interceptor_; |
160 prerender_interceptor_; | |
161 | 160 |
162 // List of live ProxyScriptFetchers. | 161 // List of live ProxyScriptFetchers. |
163 ProxyScriptFetchers fetchers_; | 162 ProxyScriptFetchers fetchers_; |
164 | 163 |
165 // Keeps track of all live ChromeURLRequestContextGetters, so the | 164 // Keeps track of all live ChromeURLRequestContextGetters, so the |
166 // ChromeURLRequestContexts can be released during | 165 // ChromeURLRequestContexts can be released during |
167 // IOThread::CleanUpAfterMessageLoopDestruction(). | 166 // IOThread::CleanUpAfterMessageLoopDestruction(). |
168 std::list<ChromeURLRequestContextGetter*> url_request_context_getters_; | 167 std::list<ChromeURLRequestContextGetter*> url_request_context_getters_; |
169 | 168 |
170 DISALLOW_COPY_AND_ASSIGN(IOThread); | 169 DISALLOW_COPY_AND_ASSIGN(IOThread); |
171 }; | 170 }; |
172 | 171 |
173 #endif // CHROME_BROWSER_IO_THREAD_H_ | 172 #endif // CHROME_BROWSER_IO_THREAD_H_ |
OLD | NEW |