OLD | NEW |
---|---|
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 "base/basictypes.h" | 9 #include "base/basictypes.h" |
10 #include "base/file_path.h" | 10 #include "base/file_path.h" |
11 #include "base/ref_counted.h" | 11 #include "base/ref_counted.h" |
12 #include "base/scoped_ptr.h" | 12 #include "base/scoped_ptr.h" |
13 #include "chrome/browser/net/chrome_url_request_context.h" | 13 #include "chrome/browser/net/chrome_url_request_context.h" |
14 #include "net/base/cookie_monster.h" | 14 #include "net/base/cookie_monster.h" |
15 | 15 |
16 class CommandLine; | 16 class CommandLine; |
17 class ChromeAppCacheService; | 17 class ChromeAppCacheService; |
18 class ChromeBlobStorageContext; | 18 class ChromeBlobStorageContext; |
19 class ChromeURLRequestContext; | 19 class ChromeURLRequestContext; |
20 class ChromeURLRequestContextGetter; | 20 class ChromeURLRequestContextGetter; |
21 class ExtensionInfoMap; | 21 class ExtensionInfoMap; |
22 class ExtensionIOEventRouter; | |
23 namespace fileapi { | 22 namespace fileapi { |
24 class FileSystemContext; | 23 class FileSystemContext; |
25 } | 24 } |
26 class HostContentSettingsMap; | 25 class HostContentSettingsMap; |
27 class HostZoomMap; | 26 class HostZoomMap; |
28 class IOThread; | 27 class IOThread; |
29 namespace net { | 28 namespace net { |
30 class DnsCertProvenanceChecker; | 29 class DnsCertProvenanceChecker; |
31 class NetLog; | 30 class NetLog; |
32 class ProxyConfigService; | 31 class ProxyConfigService; |
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
96 scoped_refptr<HostContentSettingsMap> host_content_settings_map; | 95 scoped_refptr<HostContentSettingsMap> host_content_settings_map; |
97 scoped_refptr<HostZoomMap> host_zoom_map; | 96 scoped_refptr<HostZoomMap> host_zoom_map; |
98 scoped_refptr<net::TransportSecurityState> transport_security_state; | 97 scoped_refptr<net::TransportSecurityState> transport_security_state; |
99 scoped_refptr<net::SSLConfigService> ssl_config_service; | 98 scoped_refptr<net::SSLConfigService> ssl_config_service; |
100 scoped_refptr<net::CookieMonster::Delegate> cookie_monster_delegate; | 99 scoped_refptr<net::CookieMonster::Delegate> cookie_monster_delegate; |
101 scoped_refptr<webkit_database::DatabaseTracker> database_tracker; | 100 scoped_refptr<webkit_database::DatabaseTracker> database_tracker; |
102 scoped_refptr<ChromeAppCacheService> appcache_service; | 101 scoped_refptr<ChromeAppCacheService> appcache_service; |
103 scoped_refptr<ChromeBlobStorageContext> blob_storage_context; | 102 scoped_refptr<ChromeBlobStorageContext> blob_storage_context; |
104 scoped_refptr<fileapi::FileSystemContext> file_system_context; | 103 scoped_refptr<fileapi::FileSystemContext> file_system_context; |
105 scoped_refptr<ExtensionInfoMap> extension_info_map; | 104 scoped_refptr<ExtensionInfoMap> extension_info_map; |
106 scoped_refptr<ExtensionIOEventRouter> extension_io_event_router; | |
107 scoped_refptr<prerender::PrerenderManager> prerender_manager; | 105 scoped_refptr<prerender::PrerenderManager> prerender_manager; |
108 scoped_refptr<ProtocolHandlerRegistry> protocol_handler_registry; | 106 scoped_refptr<ProtocolHandlerRegistry> protocol_handler_registry; |
109 // We need to initialize the ProxyConfigService from the UI thread | 107 // We need to initialize the ProxyConfigService from the UI thread |
110 // because on linux it relies on initializing things through gconf, | 108 // because on linux it relies on initializing things through gconf, |
111 // and needs to be on the main thread. | 109 // and needs to be on the main thread. |
112 scoped_ptr<net::ProxyConfigService> proxy_config_service; | 110 scoped_ptr<net::ProxyConfigService> proxy_config_service; |
111 // The profile this struct was populated from. We must not dereference | |
112 // this pointer on any but the UI thread with prior checking that it is | |
113 // still valid, e.g. using ProfileManager::IsValidProfile. | |
114 Profile* profile; | |
willchan no longer on Chromium
2011/02/26 02:11:35
jochen, I think I told you this was ok before, but
| |
113 }; | 115 }; |
114 | 116 |
115 explicit ProfileIOData(bool is_off_the_record); | 117 explicit ProfileIOData(bool is_off_the_record); |
116 virtual ~ProfileIOData(); | 118 virtual ~ProfileIOData(); |
117 | 119 |
118 // Static helper functions to assist in common operations executed by | 120 // Static helper functions to assist in common operations executed by |
119 // subtypes. | 121 // subtypes. |
120 | 122 |
121 static void InitializeProfileParams(Profile* profile, ProfileParams* params); | 123 static void InitializeProfileParams(Profile* profile, ProfileParams* params); |
122 static void ApplyProfileParamsToContext(const ProfileParams& profile_params, | 124 static void ApplyProfileParamsToContext(const ProfileParams& profile_params, |
(...skipping 27 matching lines...) Expand all Loading... | |
150 AcquireMediaRequestContext() const = 0; | 152 AcquireMediaRequestContext() const = 0; |
151 virtual scoped_refptr<ChromeURLRequestContext> | 153 virtual scoped_refptr<ChromeURLRequestContext> |
152 AcquireExtensionsRequestContext() const = 0; | 154 AcquireExtensionsRequestContext() const = 0; |
153 | 155 |
154 mutable bool initialized_; | 156 mutable bool initialized_; |
155 | 157 |
156 DISALLOW_COPY_AND_ASSIGN(ProfileIOData); | 158 DISALLOW_COPY_AND_ASSIGN(ProfileIOData); |
157 }; | 159 }; |
158 | 160 |
159 #endif // CHROME_BROWSER_PROFILES_PROFILE_IO_DATA_H_ | 161 #endif // CHROME_BROWSER_PROFILES_PROFILE_IO_DATA_H_ |
OLD | NEW |