Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(35)

Side by Side Diff: chrome/browser/profiles/off_the_record_profile_impl.h

Issue 9419033: Move creation of BrowserContext objects that live in content to content, instead of depending on th… (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Fix memory leaks in tests Created 8 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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_OFF_THE_RECORD_PROFILE_IMPL_H_ 5 #ifndef CHROME_BROWSER_PROFILES_OFF_THE_RECORD_PROFILE_IMPL_H_
6 #define CHROME_BROWSER_PROFILES_OFF_THE_RECORD_PROFILE_IMPL_H_ 6 #define CHROME_BROWSER_PROFILES_OFF_THE_RECORD_PROFILE_IMPL_H_
7 #pragma once 7 #pragma once
8 8
9 #include <string> 9 #include <string>
10 10
(...skipping 17 matching lines...) Expand all
28 class OffTheRecordProfileImpl : public Profile, 28 class OffTheRecordProfileImpl : public Profile,
29 public BrowserList::Observer, 29 public BrowserList::Observer,
30 public content::NotificationObserver { 30 public content::NotificationObserver {
31 public: 31 public:
32 explicit OffTheRecordProfileImpl(Profile* real_profile); 32 explicit OffTheRecordProfileImpl(Profile* real_profile);
33 virtual ~OffTheRecordProfileImpl(); 33 virtual ~OffTheRecordProfileImpl();
34 void Init(); 34 void Init();
35 35
36 // Profile implementation. 36 // Profile implementation.
37 virtual std::string GetProfileName() OVERRIDE; 37 virtual std::string GetProfileName() OVERRIDE;
38 virtual FilePath GetPath() OVERRIDE;
39 virtual bool IsOffTheRecord() OVERRIDE;
40 virtual Profile* GetOffTheRecordProfile() OVERRIDE; 38 virtual Profile* GetOffTheRecordProfile() OVERRIDE;
41 virtual void DestroyOffTheRecordProfile() OVERRIDE; 39 virtual void DestroyOffTheRecordProfile() OVERRIDE;
42 virtual bool HasOffTheRecordProfile() OVERRIDE; 40 virtual bool HasOffTheRecordProfile() OVERRIDE;
43 virtual Profile* GetOriginalProfile() OVERRIDE; 41 virtual Profile* GetOriginalProfile() OVERRIDE;
44 virtual ChromeAppCacheService* GetAppCacheService() OVERRIDE;
45 virtual webkit_database::DatabaseTracker* GetDatabaseTracker() OVERRIDE;
46 virtual VisitedLinkMaster* GetVisitedLinkMaster() OVERRIDE; 42 virtual VisitedLinkMaster* GetVisitedLinkMaster() OVERRIDE;
47 virtual ExtensionService* GetExtensionService() OVERRIDE; 43 virtual ExtensionService* GetExtensionService() OVERRIDE;
48 virtual UserScriptMaster* GetUserScriptMaster() OVERRIDE; 44 virtual UserScriptMaster* GetUserScriptMaster() OVERRIDE;
49 virtual ExtensionDevToolsManager* GetExtensionDevToolsManager() OVERRIDE; 45 virtual ExtensionDevToolsManager* GetExtensionDevToolsManager() OVERRIDE;
50 virtual ExtensionProcessManager* GetExtensionProcessManager() OVERRIDE; 46 virtual ExtensionProcessManager* GetExtensionProcessManager() OVERRIDE;
51 virtual ExtensionMessageService* GetExtensionMessageService() OVERRIDE; 47 virtual ExtensionMessageService* GetExtensionMessageService() OVERRIDE;
52 virtual ExtensionEventRouter* GetExtensionEventRouter() OVERRIDE; 48 virtual ExtensionEventRouter* GetExtensionEventRouter() OVERRIDE;
53 virtual ExtensionSpecialStoragePolicy* 49 virtual ExtensionSpecialStoragePolicy*
54 GetExtensionSpecialStoragePolicy() OVERRIDE; 50 GetExtensionSpecialStoragePolicy() OVERRIDE;
55 virtual GAIAInfoUpdateService* GetGAIAInfoUpdateService() OVERRIDE; 51 virtual GAIAInfoUpdateService* GetGAIAInfoUpdateService() OVERRIDE;
56 virtual HistoryService* GetHistoryService(ServiceAccessType sat) OVERRIDE; 52 virtual HistoryService* GetHistoryService(ServiceAccessType sat) OVERRIDE;
57 virtual HistoryService* GetHistoryServiceWithoutCreating() OVERRIDE; 53 virtual HistoryService* GetHistoryServiceWithoutCreating() OVERRIDE;
58 virtual FaviconService* GetFaviconService(ServiceAccessType sat) OVERRIDE; 54 virtual FaviconService* GetFaviconService(ServiceAccessType sat) OVERRIDE;
59 virtual AutocompleteClassifier* GetAutocompleteClassifier() OVERRIDE; 55 virtual AutocompleteClassifier* GetAutocompleteClassifier() OVERRIDE;
60 virtual history::ShortcutsBackend* GetShortcutsBackend() OVERRIDE; 56 virtual history::ShortcutsBackend* GetShortcutsBackend() OVERRIDE;
61 virtual WebDataService* GetWebDataService(ServiceAccessType sat) OVERRIDE; 57 virtual WebDataService* GetWebDataService(ServiceAccessType sat) OVERRIDE;
62 virtual WebDataService* GetWebDataServiceWithoutCreating() OVERRIDE; 58 virtual WebDataService* GetWebDataServiceWithoutCreating() OVERRIDE;
63 virtual PasswordStore* GetPasswordStore(ServiceAccessType sat) OVERRIDE; 59 virtual PasswordStore* GetPasswordStore(ServiceAccessType sat) OVERRIDE;
64 virtual PrefService* GetPrefs() OVERRIDE; 60 virtual PrefService* GetPrefs() OVERRIDE;
65 virtual PrefService* GetOffTheRecordPrefs() OVERRIDE; 61 virtual PrefService* GetOffTheRecordPrefs() OVERRIDE;
66 virtual TemplateURLFetcher* GetTemplateURLFetcher() OVERRIDE; 62 virtual TemplateURLFetcher* GetTemplateURLFetcher() OVERRIDE;
67 virtual content::DownloadManager* GetDownloadManager() OVERRIDE;
68 virtual fileapi::FileSystemContext* GetFileSystemContext() OVERRIDE;
69 virtual net::URLRequestContextGetter* GetRequestContext() OVERRIDE;
70 virtual quota::QuotaManager* GetQuotaManager() OVERRIDE;
71 virtual net::URLRequestContextGetter* GetRequestContextForRenderProcess(
72 int renderer_child_id) OVERRIDE;
73 virtual net::URLRequestContextGetter* GetRequestContextForMedia() OVERRIDE;
74 virtual net::URLRequestContextGetter* 63 virtual net::URLRequestContextGetter*
75 GetRequestContextForExtensions() OVERRIDE; 64 GetRequestContextForExtensions() OVERRIDE;
76 virtual net::URLRequestContextGetter* GetRequestContextForIsolatedApp( 65 virtual net::URLRequestContextGetter* GetRequestContextForIsolatedApp(
77 const std::string& app_id) OVERRIDE; 66 const std::string& app_id) OVERRIDE;
78 virtual content::ResourceContext* GetResourceContext() OVERRIDE;
79 virtual net::SSLConfigService* GetSSLConfigService() OVERRIDE; 67 virtual net::SSLConfigService* GetSSLConfigService() OVERRIDE;
80 virtual HostContentSettingsMap* GetHostContentSettingsMap() OVERRIDE; 68 virtual HostContentSettingsMap* GetHostContentSettingsMap() OVERRIDE;
81 virtual content::HostZoomMap* GetHostZoomMap() OVERRIDE;
82 virtual content::GeolocationPermissionContext*
83 GetGeolocationPermissionContext() OVERRIDE;
84 virtual content::SpeechInputPreferences* GetSpeechInputPreferences() OVERRIDE;
85 virtual UserStyleSheetWatcher* GetUserStyleSheetWatcher() OVERRIDE; 69 virtual UserStyleSheetWatcher* GetUserStyleSheetWatcher() OVERRIDE;
86 virtual bool DidLastSessionExitCleanly() OVERRIDE;
87 virtual BookmarkModel* GetBookmarkModel() OVERRIDE; 70 virtual BookmarkModel* GetBookmarkModel() OVERRIDE;
88 virtual ProtocolHandlerRegistry* GetProtocolHandlerRegistry() OVERRIDE; 71 virtual ProtocolHandlerRegistry* GetProtocolHandlerRegistry() OVERRIDE;
89 virtual TokenService* GetTokenService() OVERRIDE; 72 virtual TokenService* GetTokenService() OVERRIDE;
90 virtual bool IsSameProfile(Profile* profile) OVERRIDE; 73 virtual bool IsSameProfile(Profile* profile) OVERRIDE;
91 virtual Time GetStartTime() const OVERRIDE; 74 virtual Time GetStartTime() const OVERRIDE;
92 virtual WebKitContext* GetWebKitContext() OVERRIDE;
93 virtual history::TopSites* GetTopSitesWithoutCreating() OVERRIDE; 75 virtual history::TopSites* GetTopSitesWithoutCreating() OVERRIDE;
94 virtual history::TopSites* GetTopSites() OVERRIDE; 76 virtual history::TopSites* GetTopSites() OVERRIDE;
95 virtual void MarkAsCleanShutdown() OVERRIDE; 77 virtual void MarkAsCleanShutdown() OVERRIDE;
96 virtual void InitExtensions(bool extensions_enabled) OVERRIDE; 78 virtual void InitExtensions(bool extensions_enabled) OVERRIDE;
97 virtual void InitPromoResources() OVERRIDE; 79 virtual void InitPromoResources() OVERRIDE;
98 virtual void InitRegisteredProtocolHandlers() OVERRIDE; 80 virtual void InitRegisteredProtocolHandlers() OVERRIDE;
99 virtual FilePath last_selected_directory() OVERRIDE; 81 virtual FilePath last_selected_directory() OVERRIDE;
100 virtual void set_last_selected_directory(const FilePath& path) OVERRIDE; 82 virtual void set_last_selected_directory(const FilePath& path) OVERRIDE;
101 83
102 #if defined(OS_CHROMEOS) 84 #if defined(OS_CHROMEOS)
103 virtual void SetupChromeOSEnterpriseExtensionObserver() OVERRIDE; 85 virtual void SetupChromeOSEnterpriseExtensionObserver() OVERRIDE;
104 virtual void InitChromeOSPreferences() OVERRIDE; 86 virtual void InitChromeOSPreferences() OVERRIDE;
105 #endif // defined(OS_CHROMEOS) 87 #endif // defined(OS_CHROMEOS)
106 88
107 virtual void OnBrowserAdded(const Browser* browser) OVERRIDE; 89 virtual void OnBrowserAdded(const Browser* browser) OVERRIDE;
108 virtual void OnBrowserRemoved(const Browser* browser) OVERRIDE; 90 virtual void OnBrowserRemoved(const Browser* browser) OVERRIDE;
109 virtual ChromeBlobStorageContext* GetBlobStorageContext() OVERRIDE;
110 virtual ExtensionInfoMap* GetExtensionInfoMap() OVERRIDE; 91 virtual ExtensionInfoMap* GetExtensionInfoMap() OVERRIDE;
111 virtual ChromeURLDataManager* GetChromeURLDataManager() OVERRIDE; 92 virtual ChromeURLDataManager* GetChromeURLDataManager() OVERRIDE;
112 virtual PromoCounter* GetInstantPromoCounter() OVERRIDE; 93 virtual PromoCounter* GetInstantPromoCounter() OVERRIDE;
113 94
114 #if defined(OS_CHROMEOS) 95 #if defined(OS_CHROMEOS)
115 virtual void ChangeAppLocale(const std::string& locale, 96 virtual void ChangeAppLocale(const std::string& locale,
116 AppLocaleChangedVia) OVERRIDE; 97 AppLocaleChangedVia) OVERRIDE;
117 virtual void OnLogin() OVERRIDE; 98 virtual void OnLogin() OVERRIDE;
118 #endif // defined(OS_CHROMEOS) 99 #endif // defined(OS_CHROMEOS)
119 100
120 virtual PrefProxyConfigTracker* GetProxyConfigTracker() OVERRIDE; 101 virtual PrefProxyConfigTracker* GetProxyConfigTracker() OVERRIDE;
121 102
122 virtual chrome_browser_net::Predictor* GetNetworkPredictor() OVERRIDE; 103 virtual chrome_browser_net::Predictor* GetNetworkPredictor() OVERRIDE;
123 virtual void ClearNetworkingHistorySince(base::Time time) OVERRIDE; 104 virtual void ClearNetworkingHistorySince(base::Time time) OVERRIDE;
124 virtual GURL GetHomePage() OVERRIDE; 105 virtual GURL GetHomePage() OVERRIDE;
125 106
107 // content::BrowserContext implementation:
108 virtual FilePath GetPath() OVERRIDE;
109 virtual bool IsOffTheRecord() OVERRIDE;
110 virtual content::DownloadManager* GetDownloadManager() OVERRIDE;
111 virtual net::URLRequestContextGetter* GetRequestContext() OVERRIDE;
112 virtual net::URLRequestContextGetter* GetRequestContextForRenderProcess(
113 int renderer_child_id) OVERRIDE;
114 virtual net::URLRequestContextGetter* GetRequestContextForMedia() OVERRIDE;
115 virtual content::ResourceContext* GetResourceContext() OVERRIDE;
116 virtual content::HostZoomMap* GetHostZoomMap() OVERRIDE;
117 virtual content::GeolocationPermissionContext*
118 GetGeolocationPermissionContext() OVERRIDE;
119 virtual content::SpeechInputPreferences* GetSpeechInputPreferences() OVERRIDE;
120 virtual bool DidLastSessionExitCleanly() OVERRIDE;
121 virtual quota::SpecialStoragePolicy* GetSpecialStoragePolicy() OVERRIDE;
122
126 // content::NotificationObserver implementation. 123 // content::NotificationObserver implementation.
127 virtual void Observe(int type, 124 virtual void Observe(int type,
128 const content::NotificationSource& source, 125 const content::NotificationSource& source,
129 const content::NotificationDetails& details) OVERRIDE; 126 const content::NotificationDetails& details) OVERRIDE;
130 127
131 private: 128 private:
132 void CreateQuotaManagerAndClients();
133
134 content::NotificationRegistrar registrar_; 129 content::NotificationRegistrar registrar_;
135 130
136 // The real underlying profile. 131 // The real underlying profile.
137 Profile* profile_; 132 Profile* profile_;
138 133
139 // Weak pointer owned by |profile_|. 134 // Weak pointer owned by |profile_|.
140 PrefService* prefs_; 135 PrefService* prefs_;
141 136
142 OffTheRecordProfileIOData::Handle io_data_; 137 OffTheRecordProfileIOData::Handle io_data_;
143 138
144 // Must be freed before |io_data_|. While |extension_process_manager_| still 139 // Must be freed before |io_data_|. While |extension_process_manager_| still
145 // lives, we handle incoming resource requests from extension processes and 140 // lives, we handle incoming resource requests from extension processes and
146 // those require access to the ResourceContext owned by |io_data_|. 141 // those require access to the ResourceContext owned by |io_data_|.
147 scoped_ptr<ExtensionProcessManager> extension_process_manager_; 142 scoped_ptr<ExtensionProcessManager> extension_process_manager_;
148 143
149 // We use a non-persistent content settings map for OTR. 144 // We use a non-persistent content settings map for OTR.
150 scoped_refptr<HostContentSettingsMap> host_content_settings_map_; 145 scoped_refptr<HostContentSettingsMap> host_content_settings_map_;
151 146
152 // Use a separate zoom map for OTR. 147 // Use a separate zoom map for OTR.
153 scoped_refptr<content::HostZoomMap> host_zoom_map_; 148 scoped_refptr<content::HostZoomMap> host_zoom_map_;
154 149
155 // Use a special WebKit context for OTR browsing.
156 scoped_refptr<WebKitContext> webkit_context_;
157
158 // Time we were started. 150 // Time we were started.
159 Time start_time_; 151 Time start_time_;
160 152
161 scoped_refptr<ChromeAppCacheService> appcache_service_;
162
163 // The main database tracker for this profile.
164 // Should be used only on the file thread.
165 scoped_refptr<webkit_database::DatabaseTracker> db_tracker_;
166
167 FilePath last_selected_directory_; 153 FilePath last_selected_directory_;
168 154
169 scoped_refptr<ChromeBlobStorageContext> blob_storage_context_;
170
171 // The file_system context for this profile.
172 scoped_refptr<fileapi::FileSystemContext> file_system_context_;
173
174 scoped_ptr<PrefProxyConfigTracker> pref_proxy_config_tracker_; 155 scoped_ptr<PrefProxyConfigTracker> pref_proxy_config_tracker_;
175 156
176 scoped_ptr<ChromeURLDataManager> chrome_url_data_manager_; 157 scoped_ptr<ChromeURLDataManager> chrome_url_data_manager_;
177 158
178 scoped_refptr<quota::QuotaManager> quota_manager_;
179
180 DISALLOW_COPY_AND_ASSIGN(OffTheRecordProfileImpl); 159 DISALLOW_COPY_AND_ASSIGN(OffTheRecordProfileImpl);
181 }; 160 };
182 161
183 #endif // CHROME_BROWSER_PROFILES_OFF_THE_RECORD_PROFILE_IMPL_H_ 162 #endif // CHROME_BROWSER_PROFILES_OFF_THE_RECORD_PROFILE_IMPL_H_
OLDNEW
« no previous file with comments | « chrome/browser/net/view_blob_internals_job_factory.cc ('k') | chrome/browser/profiles/off_the_record_profile_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698