OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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_PROFILES_PROFILE_IMPL_IO_DATA_H_ | 5 #ifndef CHROME_BROWSER_PROFILES_PROFILE_IMPL_IO_DATA_H_ |
6 #define CHROME_BROWSER_PROFILES_PROFILE_IMPL_IO_DATA_H_ | 6 #define CHROME_BROWSER_PROFILES_PROFILE_IMPL_IO_DATA_H_ |
7 | 7 |
8 #include "base/callback.h" | 8 #include "base/callback.h" |
9 #include "base/containers/hash_tables.h" | 9 #include "base/containers/hash_tables.h" |
10 #include "base/macros.h" | 10 #include "base/macros.h" |
11 #include "base/memory/ref_counted.h" | 11 #include "base/memory/ref_counted.h" |
12 #include "chrome/browser/custom_handlers/protocol_handler_registry.h" | 12 #include "chrome/browser/custom_handlers/protocol_handler_registry.h" |
13 #include "chrome/browser/net/chrome_url_request_context_getter.h" | 13 #include "chrome/browser/net/chrome_url_request_context_getter.h" |
14 #include "chrome/browser/profiles/profile_io_data.h" | 14 #include "chrome/browser/profiles/profile_io_data.h" |
15 #include "components/prefs/pref_store.h" | 15 #include "components/prefs/pref_store.h" |
| 16 #include "components/reporting/content/browser/reporting_network_delegate.h" |
16 #include "content/public/browser/cookie_store_factory.h" | 17 #include "content/public/browser/cookie_store_factory.h" |
17 | 18 |
18 class JsonPrefStore; | 19 class JsonPrefStore; |
19 | 20 |
20 namespace chrome_browser_net { | 21 namespace chrome_browser_net { |
21 class Predictor; | 22 class Predictor; |
22 } // namespace chrome_browser_net | 23 } // namespace chrome_browser_net |
23 | 24 |
24 namespace data_reduction_proxy { | 25 namespace data_reduction_proxy { |
25 class DataReductionProxyNetworkDelegate; | 26 class DataReductionProxyNetworkDelegate; |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
58 const base::FilePath& cache_path, | 59 const base::FilePath& cache_path, |
59 int cache_max_size, | 60 int cache_max_size, |
60 const base::FilePath& media_cache_path, | 61 const base::FilePath& media_cache_path, |
61 int media_cache_max_size, | 62 int media_cache_max_size, |
62 const base::FilePath& extensions_cookie_path, | 63 const base::FilePath& extensions_cookie_path, |
63 const base::FilePath& profile_path, | 64 const base::FilePath& profile_path, |
64 chrome_browser_net::Predictor* predictor, | 65 chrome_browser_net::Predictor* predictor, |
65 content::CookieStoreConfig::SessionCookieMode session_cookie_mode, | 66 content::CookieStoreConfig::SessionCookieMode session_cookie_mode, |
66 storage::SpecialStoragePolicy* special_storage_policy, | 67 storage::SpecialStoragePolicy* special_storage_policy, |
67 std::unique_ptr<domain_reliability::DomainReliabilityMonitor> | 68 std::unique_ptr<domain_reliability::DomainReliabilityMonitor> |
68 domain_reliability_monitor); | 69 domain_reliability_monitor, |
| 70 std::unique_ptr<reporting::ReportingNetworkDelegate::Handle> |
| 71 reporting_handle); |
69 | 72 |
70 // These Create*ContextGetter() functions are only exposed because the | 73 // These Create*ContextGetter() functions are only exposed because the |
71 // circular relationship between Profile, ProfileIOData::Handle, and the | 74 // circular relationship between Profile, ProfileIOData::Handle, and the |
72 // ChromeURLRequestContextGetter factories requires Profile be able to call | 75 // ChromeURLRequestContextGetter factories requires Profile be able to call |
73 // these functions. | 76 // these functions. |
74 scoped_refptr<ChromeURLRequestContextGetter> CreateMainRequestContextGetter( | 77 scoped_refptr<ChromeURLRequestContextGetter> CreateMainRequestContextGetter( |
75 content::ProtocolHandlerMap* protocol_handlers, | 78 content::ProtocolHandlerMap* protocol_handlers, |
76 content::URLRequestInterceptorScopedVector request_interceptors, | 79 content::URLRequestInterceptorScopedVector request_interceptors, |
77 IOThread* io_thread) const; | 80 IOThread* io_thread) const; |
78 scoped_refptr<ChromeURLRequestContextGetter> | 81 scoped_refptr<ChromeURLRequestContextGetter> |
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
199 const StoragePartitionDescriptor& partition_descriptor) const override; | 202 const StoragePartitionDescriptor& partition_descriptor) const override; |
200 chrome_browser_net::Predictor* GetPredictor() override; | 203 chrome_browser_net::Predictor* GetPredictor() override; |
201 | 204 |
202 // Deletes all network related data since |time|. It deletes transport | 205 // Deletes all network related data since |time|. It deletes transport |
203 // security state since |time| and also deletes HttpServerProperties data. | 206 // security state since |time| and also deletes HttpServerProperties data. |
204 // Works asynchronously, however if the |completion| callback is non-null, | 207 // Works asynchronously, however if the |completion| callback is non-null, |
205 // it will be posted on the UI thread once the removal process completes. | 208 // it will be posted on the UI thread once the removal process completes. |
206 void ClearNetworkingHistorySinceOnIOThread(base::Time time, | 209 void ClearNetworkingHistorySinceOnIOThread(base::Time time, |
207 const base::Closure& completion); | 210 const base::Closure& completion); |
208 | 211 |
| 212 mutable std::unique_ptr<net::NetworkDelegate> network_delegate_; |
| 213 |
209 // Lazy initialization params. | 214 // Lazy initialization params. |
210 mutable std::unique_ptr<LazyParams> lazy_params_; | 215 mutable std::unique_ptr<LazyParams> lazy_params_; |
211 | 216 |
212 mutable scoped_refptr<JsonPrefStore> network_json_store_; | 217 mutable scoped_refptr<JsonPrefStore> network_json_store_; |
213 | 218 |
214 mutable std::unique_ptr<net::FtpTransactionFactory> ftp_factory_; | 219 mutable std::unique_ptr<net::FtpTransactionFactory> ftp_factory_; |
215 | 220 |
216 // Owned by URLRequestContextStorage, reference here to can be shut down on | 221 // Owned by URLRequestContextStorage, reference here to can be shut down on |
217 // the UI thread. | 222 // the UI thread. |
218 net::HttpServerPropertiesManager* http_server_properties_manager_; | 223 net::HttpServerPropertiesManager* http_server_properties_manager_; |
219 | 224 |
220 mutable std::unique_ptr<net::CookieStore> extensions_cookie_store_; | 225 mutable std::unique_ptr<net::CookieStore> extensions_cookie_store_; |
221 | 226 |
222 mutable std::unique_ptr<chrome_browser_net::Predictor> predictor_; | 227 mutable std::unique_ptr<chrome_browser_net::Predictor> predictor_; |
223 | 228 |
224 mutable std::unique_ptr<net::URLRequestContext> media_request_context_; | 229 mutable std::unique_ptr<net::URLRequestContext> media_request_context_; |
225 | 230 |
226 mutable std::unique_ptr<net::URLRequestJobFactory> extensions_job_factory_; | 231 mutable std::unique_ptr<net::URLRequestJobFactory> extensions_job_factory_; |
227 | 232 |
228 mutable std::unique_ptr<domain_reliability::DomainReliabilityMonitor> | 233 mutable std::unique_ptr<domain_reliability::DomainReliabilityMonitor> |
229 domain_reliability_monitor_; | 234 domain_reliability_monitor_; |
230 | 235 |
231 mutable std::unique_ptr<net::SdchOwner> sdch_policy_; | 236 mutable std::unique_ptr<net::SdchOwner> sdch_policy_; |
232 | 237 |
233 mutable std::unique_ptr<previews::PreviewsIOData> previews_io_data_; | 238 mutable std::unique_ptr<previews::PreviewsIOData> previews_io_data_; |
234 | 239 |
| 240 mutable std::unique_ptr<reporting::ReportingNetworkDelegate::Handle> |
| 241 reporting_handle_; |
| 242 |
235 // Parameters needed for isolated apps. | 243 // Parameters needed for isolated apps. |
236 base::FilePath profile_path_; | 244 base::FilePath profile_path_; |
237 int app_cache_max_size_; | 245 int app_cache_max_size_; |
238 int app_media_cache_max_size_; | 246 int app_media_cache_max_size_; |
239 | 247 |
240 DISALLOW_COPY_AND_ASSIGN(ProfileImplIOData); | 248 DISALLOW_COPY_AND_ASSIGN(ProfileImplIOData); |
241 }; | 249 }; |
242 | 250 |
243 #endif // CHROME_BROWSER_PROFILES_PROFILE_IMPL_IO_DATA_H_ | 251 #endif // CHROME_BROWSER_PROFILES_PROFILE_IMPL_IO_DATA_H_ |
OLD | NEW |