summaryrefslogtreecommitdiffstats
path: root/chrome/browser/profile.h
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/profile.h')
-rw-r--r--chrome/browser/profile.h221
1 files changed, 3 insertions, 218 deletions
diff --git a/chrome/browser/profile.h b/chrome/browser/profile.h
index 9ed1c7a..0e64fa2 100644
--- a/chrome/browser/profile.h
+++ b/chrome/browser/profile.h
@@ -8,20 +8,11 @@
#define CHROME_BROWSER_PROFILE_H_
#pragma once
-#include <set>
-#include <string>
-
#include "base/basictypes.h"
#include "base/file_path.h"
#include "base/ref_counted.h"
#include "base/scoped_ptr.h"
#include "base/timer.h"
-#include "chrome/browser/spellcheck_host_observer.h"
-#include "chrome/common/notification_registrar.h"
-
-#if defined(OS_CHROMEOS)
-#include "chrome/browser/chromeos/preferences.h"
-#endif
namespace history {
class TopSites;
@@ -454,6 +445,9 @@ class Profile {
// disabled or controlled by configuration management.
bool IsSyncAccessible();
+ // Creates an OffTheRecordProfile which points to this Profile.
+ Profile* CreateOffTheRecordProfile();
+
protected:
static URLRequestContextGetter* default_request_context_;
@@ -467,213 +461,4 @@ class Profile {
int accessibility_pause_level_;
};
-class OffTheRecordProfileImpl;
-
-// The default profile implementation.
-class ProfileImpl : public Profile,
- public SpellCheckHostObserver,
- public NotificationObserver {
- public:
- virtual ~ProfileImpl();
-
- // Profile implementation.
- virtual ProfileId GetRuntimeId();
- virtual FilePath GetPath();
- virtual bool IsOffTheRecord();
- virtual Profile* GetOffTheRecordProfile();
- virtual void DestroyOffTheRecordProfile();
- virtual bool HasOffTheRecordProfile();
- virtual Profile* GetOriginalProfile();
- virtual webkit_database::DatabaseTracker* GetDatabaseTracker();
- virtual history::TopSites* GetTopSites();
- virtual VisitedLinkMaster* GetVisitedLinkMaster();
- virtual UserScriptMaster* GetUserScriptMaster();
- virtual SSLHostState* GetSSLHostState();
- virtual net::TransportSecurityState* GetTransportSecurityState();
- virtual ExtensionsService* GetExtensionsService();
- virtual ExtensionDevToolsManager* GetExtensionDevToolsManager();
- virtual ExtensionProcessManager* GetExtensionProcessManager();
- virtual ExtensionMessageService* GetExtensionMessageService();
- virtual FaviconService* GetFaviconService(ServiceAccessType sat);
- virtual HistoryService* GetHistoryService(ServiceAccessType sat);
- virtual HistoryService* GetHistoryServiceWithoutCreating();
- virtual AutocompleteClassifier* GetAutocompleteClassifier();
- virtual WebDataService* GetWebDataService(ServiceAccessType sat);
- virtual WebDataService* GetWebDataServiceWithoutCreating();
- virtual PasswordStore* GetPasswordStore(ServiceAccessType sat);
- virtual PrefService* GetPrefs();
- virtual TemplateURLModel* GetTemplateURLModel();
- virtual TemplateURLFetcher* GetTemplateURLFetcher();
- virtual DownloadManager* GetDownloadManager();
- virtual PersonalDataManager* GetPersonalDataManager();
- virtual void InitThemes();
- virtual void SetTheme(Extension* extension);
- virtual void SetNativeTheme();
- virtual void ClearTheme();
- virtual Extension* GetTheme();
- virtual BrowserThemeProvider* GetThemeProvider();
- virtual bool HasCreatedDownloadManager() const;
- virtual URLRequestContextGetter* GetRequestContext();
- virtual URLRequestContextGetter* GetRequestContextForMedia();
- virtual URLRequestContextGetter* GetRequestContextForExtensions();
- virtual void RegisterExtensionWithRequestContexts(Extension* extension);
- virtual void UnregisterExtensionWithRequestContexts(Extension* extension);
- virtual net::SSLConfigService* GetSSLConfigService();
- virtual HostContentSettingsMap* GetHostContentSettingsMap();
- virtual HostZoomMap* GetHostZoomMap();
- virtual GeolocationContentSettingsMap* GetGeolocationContentSettingsMap();
- virtual GeolocationPermissionContext* GetGeolocationPermissionContext();
- virtual UserStyleSheetWatcher* GetUserStyleSheetWatcher();
- virtual FindBarState* GetFindBarState();
- virtual SessionService* GetSessionService();
- virtual void ShutdownSessionService();
- virtual bool HasSessionService() const;
- virtual bool DidLastSessionExitCleanly();
- virtual BookmarkModel* GetBookmarkModel();
- virtual bool IsSameProfile(Profile* profile);
- virtual base::Time GetStartTime() const;
- virtual TabRestoreService* GetTabRestoreService();
- virtual void ResetTabRestoreService();
- virtual SpellCheckHost* GetSpellCheckHost();
- virtual void ReinitializeSpellCheckHost(bool force);
- virtual WebKitContext* GetWebKitContext();
- virtual DesktopNotificationService* GetDesktopNotificationService();
- virtual BackgroundContentsService* GetBackgroundContentsService();
- virtual void MarkAsCleanShutdown();
- virtual void InitExtensions();
- virtual NTPResourceCache* GetNTPResourceCache();
- virtual FilePath last_selected_directory();
- virtual void set_last_selected_directory(const FilePath& path);
- virtual ProfileSyncService* GetProfileSyncService();
- virtual TokenService* GetTokenService();
- void InitSyncService();
- virtual CloudPrintProxyService* GetCloudPrintProxyService();
- void InitCloudPrintProxyService();
-
- // NotificationObserver implementation.
- virtual void Observe(NotificationType type,
- const NotificationSource& source,
- const NotificationDetails& details);
-
- // SpellCheckHostObserver implementation.
- virtual void SpellCheckHostInitialized();
-
- private:
- friend class Profile;
-
- explicit ProfileImpl(const FilePath& path);
-
- void CreateWebDataService();
- FilePath GetPrefFilePath();
-
- void CreatePasswordStore();
-
- void StopCreateSessionServiceTimer();
-
- void EnsureRequestContextCreated() {
- GetRequestContext();
- }
-
- void EnsureSessionServiceCreated() {
- GetSessionService();
- }
-
- NotificationRegistrar registrar_;
-
- FilePath path_;
- FilePath base_cache_path_;
- scoped_ptr<VisitedLinkEventListener> visited_link_event_listener_;
- scoped_ptr<VisitedLinkMaster> visited_link_master_;
- scoped_refptr<ExtensionsService> extensions_service_;
- scoped_refptr<UserScriptMaster> user_script_master_;
- scoped_refptr<ExtensionDevToolsManager> extension_devtools_manager_;
- scoped_ptr<ExtensionProcessManager> extension_process_manager_;
- scoped_refptr<ExtensionMessageService> extension_message_service_;
- scoped_ptr<SSLHostState> ssl_host_state_;
- scoped_refptr<net::TransportSecurityState>
- transport_security_state_;
- scoped_refptr<TransportSecurityPersister>
- transport_security_persister_;
- scoped_ptr<PrefService> prefs_;
- scoped_ptr<TemplateURLFetcher> template_url_fetcher_;
- scoped_ptr<TemplateURLModel> template_url_model_;
- scoped_ptr<BookmarkModel> bookmark_bar_model_;
- scoped_refptr<WebResourceService> web_resource_service_;
- scoped_ptr<NTPResourceCache> ntp_resource_cache_;
-
- scoped_ptr<TokenService> token_service_;
- scoped_ptr<ProfileSyncFactory> profile_sync_factory_;
- scoped_ptr<ProfileSyncService> sync_service_;
- scoped_ptr<CloudPrintProxyService> cloud_print_proxy_service_;
-
- scoped_refptr<ChromeURLRequestContextGetter> request_context_;
-
- scoped_refptr<ChromeURLRequestContextGetter> media_request_context_;
-
- scoped_refptr<ChromeURLRequestContextGetter> extensions_request_context_;
-
- scoped_ptr<SSLConfigServiceManager> ssl_config_service_manager_;
-
- scoped_refptr<HostContentSettingsMap> host_content_settings_map_;
- scoped_refptr<HostZoomMap> host_zoom_map_;
- scoped_refptr<GeolocationContentSettingsMap>
- geolocation_content_settings_map_;
- scoped_refptr<GeolocationPermissionContext>
- geolocation_permission_context_;
- scoped_refptr<UserStyleSheetWatcher> user_style_sheet_watcher_;
- scoped_ptr<FindBarState> find_bar_state_;
- scoped_refptr<DownloadManager> download_manager_;
- scoped_refptr<HistoryService> history_service_;
- scoped_refptr<FaviconService> favicon_service_;
- scoped_ptr<AutocompleteClassifier> autocomplete_classifier_;
- scoped_refptr<WebDataService> web_data_service_;
- scoped_refptr<PasswordStore> password_store_;
- scoped_refptr<SessionService> session_service_;
- scoped_ptr<BrowserThemeProvider> theme_provider_;
- scoped_refptr<WebKitContext> webkit_context_;
- scoped_ptr<DesktopNotificationService> desktop_notification_service_;
- scoped_ptr<BackgroundContentsService> background_contents_service_;
- scoped_refptr<PersonalDataManager> personal_data_manager_;
- scoped_ptr<PinnedTabService> pinned_tab_service_;
- bool history_service_created_;
- bool favicon_service_created_;
- bool created_web_data_service_;
- bool created_password_store_;
- bool created_download_manager_;
- bool created_theme_provider_;
- // Whether or not the last session exited cleanly. This is set only once.
- bool last_session_exited_cleanly_;
-
- base::OneShotTimer<ProfileImpl> create_session_service_timer_;
-
- scoped_ptr<OffTheRecordProfileImpl> off_the_record_profile_;
-
- // See GetStartTime for details.
- base::Time start_time_;
-
- scoped_refptr<TabRestoreService> tab_restore_service_;
-
- scoped_refptr<SpellCheckHost> spellcheck_host_;
-
- // Indicates whether |spellcheck_host_| has told us initialization is
- // finished.
- bool spellcheck_host_ready_;
-
- // Set to true when ShutdownSessionService is invoked. If true
- // GetSessionService won't recreate the SessionService.
- bool shutdown_session_service_;
-
- // The main database tracker for this profile.
- // Should be used only on the file thread.
- scoped_refptr<webkit_database::DatabaseTracker> db_tracker_;
-
- scoped_refptr<history::TopSites> top_sites_; // For history and thumbnails.
-
-#if defined(OS_CHROMEOS)
- chromeos::Preferences chromeos_preferences_;
-#endif
-
- DISALLOW_COPY_AND_ASSIGN(ProfileImpl);
-};
-
#endif // CHROME_BROWSER_PROFILE_H_