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_IO_DATA_H_ | 5 #ifndef CHROME_BROWSER_PROFILES_PROFILE_IO_DATA_H_ |
6 #define CHROME_BROWSER_PROFILES_PROFILE_IO_DATA_H_ | 6 #define CHROME_BROWSER_PROFILES_PROFILE_IO_DATA_H_ |
7 #pragma once | 7 #pragma once |
8 | 8 |
9 #include <string> | 9 #include <string> |
10 | 10 |
11 #include "base/basictypes.h" | 11 #include "base/basictypes.h" |
12 #include "base/callback_forward.h" | 12 #include "base/callback_forward.h" |
13 #include "base/file_path.h" | 13 #include "base/file_path.h" |
14 #include "base/memory/ref_counted.h" | 14 #include "base/memory/ref_counted.h" |
15 #include "base/memory/scoped_ptr.h" | 15 #include "base/memory/scoped_ptr.h" |
16 #include "base/memory/weak_ptr.h" | 16 #include "base/memory/weak_ptr.h" |
17 #include "base/synchronization/lock.h" | 17 #include "base/synchronization/lock.h" |
18 #include "chrome/browser/net/chrome_url_request_context.h" | 18 #include "chrome/browser/net/chrome_url_request_context.h" |
19 #include "chrome/browser/prefs/pref_member.h" | 19 #include "chrome/browser/prefs/pref_member.h" |
20 #include "content/browser/resource_context.h" | 20 #include "content/browser/resource_context.h" |
21 #include "net/base/cookie_monster.h" | 21 #include "net/base/cookie_monster.h" |
22 | 22 |
23 class AudioManager; | 23 class AudioManager; |
24 class ChromeAppCacheService; | 24 class ChromeAppCacheService; |
25 class ChromeBlobStorageContext; | 25 class ChromeBlobStorageContext; |
26 class CookieSettings; | 26 class CookieSettings; |
27 class DesktopNotificationService; | 27 class DesktopNotificationService; |
28 class DownloadIdFactory; | 28 class DownloadIdFactory; |
29 class ExtensionInfoMap; | 29 class ExtensionInfoMap; |
| 30 class GarbledTextServiceParams; |
| 31 class GarbledTextURLTracker; |
30 class HostContentSettingsMap; | 32 class HostContentSettingsMap; |
31 class HostZoomMap; | 33 class HostZoomMap; |
32 class IOThread; | 34 class IOThread; |
33 class Profile; | 35 class Profile; |
34 class ProtocolHandlerRegistry; | 36 class ProtocolHandlerRegistry; |
35 | 37 |
36 namespace fileapi { | 38 namespace fileapi { |
37 class FileSystemContext; | 39 class FileSystemContext; |
38 } // namespace fileapi | 40 } // namespace fileapi |
39 | 41 |
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
108 } | 110 } |
109 | 111 |
110 ChromeURLRequestContext* extensions_request_context() const { | 112 ChromeURLRequestContext* extensions_request_context() const { |
111 return extensions_request_context_.get(); | 113 return extensions_request_context_.get(); |
112 } | 114 } |
113 | 115 |
114 BooleanPrefMember* safe_browsing_enabled() const { | 116 BooleanPrefMember* safe_browsing_enabled() const { |
115 return &safe_browsing_enabled_; | 117 return &safe_browsing_enabled_; |
116 } | 118 } |
117 | 119 |
| 120 BooleanPrefMember* garbled_text_fix_enabled() const { |
| 121 return &garbled_text_fix_enabled_; |
| 122 } |
| 123 |
118 net::TransportSecurityState* transport_security_state() const { | 124 net::TransportSecurityState* transport_security_state() const { |
119 return transport_security_state_.get(); | 125 return transport_security_state_.get(); |
120 } | 126 } |
121 | 127 |
| 128 const GarbledTextURLTracker* garbled_text_url_tracker() const { |
| 129 return garbled_text_url_tracker_.get(); |
| 130 } |
| 131 |
122 protected: | 132 protected: |
123 class AppRequestContext : public ChromeURLRequestContext { | 133 class AppRequestContext : public ChromeURLRequestContext { |
124 public: | 134 public: |
125 AppRequestContext(); | 135 AppRequestContext(); |
126 virtual ~AppRequestContext(); | 136 virtual ~AppRequestContext(); |
127 | 137 |
128 void SetCookieStore(net::CookieStore* cookie_store); | 138 void SetCookieStore(net::CookieStore* cookie_store); |
129 void SetHttpTransactionFactory(net::HttpTransactionFactory* http_factory); | 139 void SetHttpTransactionFactory(net::HttpTransactionFactory* http_factory); |
130 | 140 |
131 private: | 141 private: |
(...skipping 21 matching lines...) Expand all Loading... |
153 scoped_refptr<net::SSLConfigService> ssl_config_service; | 163 scoped_refptr<net::SSLConfigService> ssl_config_service; |
154 scoped_refptr<net::CookieMonster::Delegate> cookie_monster_delegate; | 164 scoped_refptr<net::CookieMonster::Delegate> cookie_monster_delegate; |
155 scoped_refptr<webkit_database::DatabaseTracker> database_tracker; | 165 scoped_refptr<webkit_database::DatabaseTracker> database_tracker; |
156 scoped_refptr<ChromeAppCacheService> appcache_service; | 166 scoped_refptr<ChromeAppCacheService> appcache_service; |
157 scoped_refptr<ChromeBlobStorageContext> blob_storage_context; | 167 scoped_refptr<ChromeBlobStorageContext> blob_storage_context; |
158 scoped_refptr<fileapi::FileSystemContext> file_system_context; | 168 scoped_refptr<fileapi::FileSystemContext> file_system_context; |
159 scoped_refptr<quota::QuotaManager> quota_manager; | 169 scoped_refptr<quota::QuotaManager> quota_manager; |
160 scoped_refptr<ExtensionInfoMap> extension_info_map; | 170 scoped_refptr<ExtensionInfoMap> extension_info_map; |
161 DesktopNotificationService* notification_service; | 171 DesktopNotificationService* notification_service; |
162 scoped_refptr<ProtocolHandlerRegistry> protocol_handler_registry; | 172 scoped_refptr<ProtocolHandlerRegistry> protocol_handler_registry; |
| 173 scoped_ptr<GarbledTextServiceParams> garbled_text_params; |
163 // We need to initialize the ProxyConfigService from the UI thread | 174 // We need to initialize the ProxyConfigService from the UI thread |
164 // because on linux it relies on initializing things through gconf, | 175 // because on linux it relies on initializing things through gconf, |
165 // and needs to be on the main thread. | 176 // and needs to be on the main thread. |
166 scoped_ptr<net::ProxyConfigService> proxy_config_service; | 177 scoped_ptr<net::ProxyConfigService> proxy_config_service; |
167 // The profile this struct was populated from. It's passed as a void* to | 178 // The profile this struct was populated from. It's passed as a void* to |
168 // ensure it's not accidently used on the IO thread. Before using it on the | 179 // ensure it's not accidently used on the IO thread. Before using it on the |
169 // UI thread, call ProfileManager::IsValidProfile to ensure it's alive. | 180 // UI thread, call ProfileManager::IsValidProfile to ensure it's alive. |
170 void* profile; | 181 void* profile; |
171 }; | 182 }; |
172 | 183 |
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
261 mutable bool initialized_; | 272 mutable bool initialized_; |
262 | 273 |
263 // Data from the UI thread from the Profile, used to initialize ProfileIOData. | 274 // Data from the UI thread from the Profile, used to initialize ProfileIOData. |
264 // Deleted after lazy initialization. | 275 // Deleted after lazy initialization. |
265 mutable scoped_ptr<ProfileParams> profile_params_; | 276 mutable scoped_ptr<ProfileParams> profile_params_; |
266 | 277 |
267 // Member variables which are pointed to by the various context objects. | 278 // Member variables which are pointed to by the various context objects. |
268 mutable BooleanPrefMember enable_referrers_; | 279 mutable BooleanPrefMember enable_referrers_; |
269 mutable BooleanPrefMember clear_local_state_on_exit_; | 280 mutable BooleanPrefMember clear_local_state_on_exit_; |
270 mutable BooleanPrefMember safe_browsing_enabled_; | 281 mutable BooleanPrefMember safe_browsing_enabled_; |
| 282 mutable BooleanPrefMember garbled_text_fix_enabled_; |
| 283 |
| 284 // Pointed to by ResourceDispatcherHostDelegate. |
| 285 mutable scoped_ptr<GarbledTextURLTracker> garbled_text_url_tracker_; |
271 | 286 |
272 // Pointed to by NetworkDelegate. | 287 // Pointed to by NetworkDelegate. |
273 mutable scoped_ptr<policy::URLBlacklistManager> url_blacklist_manager_; | 288 mutable scoped_ptr<policy::URLBlacklistManager> url_blacklist_manager_; |
274 | 289 |
275 // Pointed to by URLRequestContext. | 290 // Pointed to by URLRequestContext. |
276 mutable scoped_ptr<ChromeURLDataManagerBackend> | 291 mutable scoped_ptr<ChromeURLDataManagerBackend> |
277 chrome_url_data_manager_backend_; | 292 chrome_url_data_manager_backend_; |
278 mutable scoped_ptr<net::OriginBoundCertService> origin_bound_cert_service_; | 293 mutable scoped_ptr<net::OriginBoundCertService> origin_bound_cert_service_; |
279 mutable scoped_ptr<net::NetworkDelegate> network_delegate_; | 294 mutable scoped_ptr<net::NetworkDelegate> network_delegate_; |
280 mutable scoped_ptr<net::FraudulentCertificateReporter> | 295 mutable scoped_ptr<net::FraudulentCertificateReporter> |
(...skipping 27 matching lines...) Expand all Loading... |
308 // One AppRequestContext per isolated app. | 323 // One AppRequestContext per isolated app. |
309 mutable AppRequestContextMap app_request_context_map_; | 324 mutable AppRequestContextMap app_request_context_map_; |
310 | 325 |
311 // TODO(jhawkins): Remove once crbug.com/102004 is fixed. | 326 // TODO(jhawkins): Remove once crbug.com/102004 is fixed. |
312 bool initialized_on_UI_thread_; | 327 bool initialized_on_UI_thread_; |
313 | 328 |
314 DISALLOW_COPY_AND_ASSIGN(ProfileIOData); | 329 DISALLOW_COPY_AND_ASSIGN(ProfileIOData); |
315 }; | 330 }; |
316 | 331 |
317 #endif // CHROME_BROWSER_PROFILES_PROFILE_IO_DATA_H_ | 332 #endif // CHROME_BROWSER_PROFILES_PROFILE_IO_DATA_H_ |
OLD | NEW |