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 <set> | 9 #include <set> |
10 #include "base/basictypes.h" | 10 #include "base/basictypes.h" |
(...skipping 12 matching lines...) Expand all Loading... | |
23 class CommandLine; | 23 class CommandLine; |
24 class ChromeAppCacheService; | 24 class ChromeAppCacheService; |
25 class ChromeBlobStorageContext; | 25 class ChromeBlobStorageContext; |
26 class DesktopNotificationService; | 26 class DesktopNotificationService; |
27 class ExtensionInfoMap; | 27 class ExtensionInfoMap; |
28 class HostContentSettingsMap; | 28 class HostContentSettingsMap; |
29 class HostZoomMap; | 29 class HostZoomMap; |
30 class IOThread; | 30 class IOThread; |
31 class ProtocolHandlerRegistry; | 31 class ProtocolHandlerRegistry; |
32 | 32 |
33 namespace chrome_browser_net { | |
34 class Predictor; | |
35 } | |
36 | |
33 namespace fileapi { | 37 namespace fileapi { |
34 class FileSystemContext; | 38 class FileSystemContext; |
35 } // namespace fileapi | 39 } // namespace fileapi |
36 | 40 |
37 namespace net { | 41 namespace net { |
38 class DnsCertProvenanceChecker; | 42 class DnsCertProvenanceChecker; |
39 class NetLog; | 43 class NetLog; |
40 class ProxyConfigService; | 44 class ProxyConfigService; |
41 class ProxyService; | 45 class ProxyService; |
42 class SSLConfigService; | 46 class SSLConfigService; |
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
89 const std::string& app_id) const; | 93 const std::string& app_id) const; |
90 const content::ResourceContext& GetResourceContext() const; | 94 const content::ResourceContext& GetResourceContext() const; |
91 | 95 |
92 // These are useful when the Chrome layer is called from the content layer | 96 // These are useful when the Chrome layer is called from the content layer |
93 // with a content::ResourceContext, and they want access to Chrome data for | 97 // with a content::ResourceContext, and they want access to Chrome data for |
94 // that profile. | 98 // that profile. |
95 ExtensionInfoMap* GetExtensionInfoMap() const; | 99 ExtensionInfoMap* GetExtensionInfoMap() const; |
96 HostContentSettingsMap* GetHostContentSettingsMap() const; | 100 HostContentSettingsMap* GetHostContentSettingsMap() const; |
97 DesktopNotificationService* GetNotificationService() const; | 101 DesktopNotificationService* GetNotificationService() const; |
98 | 102 |
103 // These functions interact with the Predictor for the associated profile. | |
104 // The profile_io_data_ owns this predictor. | |
105 chrome_browser_net::Predictor* GetPredictor(); | |
willchan no longer on Chromium
2011/07/21 12:10:53
This should move to the ProfileImplIOData class si
rpetterson
2011/08/10 02:24:46
Done.
| |
106 void SetPredictor(chrome_browser_net::Predictor* predictor); | |
107 | |
99 protected: | 108 protected: |
100 friend class base::RefCountedThreadSafe<ProfileIOData>; | 109 friend class base::RefCountedThreadSafe<ProfileIOData>; |
101 | 110 |
102 class RequestContext : public ChromeURLRequestContext { | 111 class RequestContext : public ChromeURLRequestContext { |
103 public: | 112 public: |
104 RequestContext(); | 113 RequestContext(); |
105 virtual ~RequestContext(); | 114 virtual ~RequestContext(); |
106 | 115 |
107 // Setter is used to transfer ownership of the ProfileIOData to the context. | 116 // Setter is used to transfer ownership of the ProfileIOData to the context. |
108 void set_profile_io_data(const ProfileIOData* profile_io_data) { | 117 void set_profile_io_data(const ProfileIOData* profile_io_data) { |
(...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
261 mutable DesktopNotificationService* notification_service_; | 270 mutable DesktopNotificationService* notification_service_; |
262 mutable base::WeakPtr<prerender::PrerenderManager> prerender_manager_; | 271 mutable base::WeakPtr<prerender::PrerenderManager> prerender_manager_; |
263 | 272 |
264 mutable ResourceContext resource_context_; | 273 mutable ResourceContext resource_context_; |
265 | 274 |
266 // These are only valid in between LazyInitialize() and their accessor being | 275 // These are only valid in between LazyInitialize() and their accessor being |
267 // called. | 276 // called. |
268 mutable scoped_refptr<RequestContext> main_request_context_; | 277 mutable scoped_refptr<RequestContext> main_request_context_; |
269 mutable scoped_refptr<RequestContext> extensions_request_context_; | 278 mutable scoped_refptr<RequestContext> extensions_request_context_; |
270 | 279 |
280 mutable scoped_ptr<chrome_browser_net::Predictor> predictor_; | |
281 | |
271 DISALLOW_COPY_AND_ASSIGN(ProfileIOData); | 282 DISALLOW_COPY_AND_ASSIGN(ProfileIOData); |
272 }; | 283 }; |
273 | 284 |
274 #endif // CHROME_BROWSER_PROFILES_PROFILE_IO_DATA_H_ | 285 #endif // CHROME_BROWSER_PROFILES_PROFILE_IO_DATA_H_ |
OLD | NEW |