profile_android.h revision 3f388049fd942346ffbeed1dd8f4214d36f8f856
17d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch/*
27d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch * Copyright 2010, The Android Open Source Project
37d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch *
47d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch * Redistribution and use in source and binary forms, with or without
57d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch * modification, are permitted provided that the following conditions
67d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch * are met:
77d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch *  * Redistributions of source code must retain the above copyright
87d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch *    notice, this list of conditions and the following disclaimer.
97d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch *  * Redistributions in binary form must reproduce the above copyright
107d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch *    notice, this list of conditions and the following disclaimer in the
117d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch *    documentation and/or other materials provided with the distribution.
127d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch *
137d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
147d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
157d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
167d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
177d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
187d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
197d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
207d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
217d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
227d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
237d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
247d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch */
257d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch
267d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch// This class gathers state related to a single user profile.
277d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch// On Android, we only use this for AutoFill so methods are mostly
287d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch// just stubs.
297d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch
307d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch#ifndef ANDROID_AUTOFILL_PROFILE_H_
317d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch#define ANDROID_AUTOFILL_PROFILE_H_
327d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch
337d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch#include "android/autofill/android_url_request_context_getter.h"
347d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch#include "base/basictypes.h"
357d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch#include "base/file_path.h"
367d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch#include "base/ref_counted.h"
377d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch#include "base/scoped_ptr.h"
387d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch#include "base/timer.h"
39dbeb7bfd58939b6a020a91552afd12c32108a7c7Iain Merrick#include "chrome/browser/prefs/pref_service.h"
400dcd5fce7fd690e4bcadabbb2dfd1a5ef859bb4dKristian Monsen#include "chrome/browser/profiles/profile.h"
417d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch
427d214dfa174224b459660971e5b5cce2e06be02aBen Murdochnamespace base {
437d214dfa174224b459660971e5b5cce2e06be02aBen Murdochclass Time;
447d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch}
457d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch
467d214dfa174224b459660971e5b5cce2e06be02aBen Murdochnamespace history {
477d214dfa174224b459660971e5b5cce2e06be02aBen Murdochclass TopSites;
487d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch}
497d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch
503f388049fd942346ffbeed1dd8f4214d36f8f856Kristian Monsennamespace fileapi {
513f388049fd942346ffbeed1dd8f4214d36f8f856Kristian Monsenclass FileSystemContext;
523f388049fd942346ffbeed1dd8f4214d36f8f856Kristian Monsen}
533f388049fd942346ffbeed1dd8f4214d36f8f856Kristian Monsen
547d214dfa174224b459660971e5b5cce2e06be02aBen Murdochnamespace net {
557d214dfa174224b459660971e5b5cce2e06be02aBen Murdochclass TransportSecurityState;
567d214dfa174224b459660971e5b5cce2e06be02aBen Murdochclass SSLConfigService;
577d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch}
587d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch
591bbc2eb6ced80e65ee853160820623e295e99d79Ben Murdochnamespace policy {
601bbc2eb6ced80e65ee853160820623e295e99d79Ben Murdochclass ProfilePolicyContext;
611bbc2eb6ced80e65ee853160820623e295e99d79Ben Murdoch}
621bbc2eb6ced80e65ee853160820623e295e99d79Ben Murdoch
637d214dfa174224b459660971e5b5cce2e06be02aBen Murdochnamespace webkit_database {
647d214dfa174224b459660971e5b5cce2e06be02aBen Murdochclass DatabaseTracker;
657d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch}
667d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch
677d214dfa174224b459660971e5b5cce2e06be02aBen Murdochclass AutocompleteClassifier;
687d214dfa174224b459660971e5b5cce2e06be02aBen Murdochclass BackgroundContentsService;
697d214dfa174224b459660971e5b5cce2e06be02aBen Murdochclass BookmarkModel;
7081e333ba9bbaf09cb5411cb0966ae032d4539e12Ben Murdochclass BrowserSignin;
717d214dfa174224b459660971e5b5cce2e06be02aBen Murdochclass BrowserThemeProvider;
727d214dfa174224b459660971e5b5cce2e06be02aBen Murdochclass ChromeURLRequestContextGetter;
737d214dfa174224b459660971e5b5cce2e06be02aBen Murdochclass DesktopNotificationService;
747d214dfa174224b459660971e5b5cce2e06be02aBen Murdochclass DownloadManager;
757d214dfa174224b459660971e5b5cce2e06be02aBen Murdochclass Extension;
767d214dfa174224b459660971e5b5cce2e06be02aBen Murdochclass ExtensionDevToolsManager;
777d214dfa174224b459660971e5b5cce2e06be02aBen Murdochclass ExtensionProcessManager;
787d214dfa174224b459660971e5b5cce2e06be02aBen Murdochclass ExtensionMessageService;
797d214dfa174224b459660971e5b5cce2e06be02aBen Murdochclass ExtensionsService;
807d214dfa174224b459660971e5b5cce2e06be02aBen Murdochclass FaviconService;
817d214dfa174224b459660971e5b5cce2e06be02aBen Murdochclass FindBarState;
827d214dfa174224b459660971e5b5cce2e06be02aBen Murdochclass GeolocationContentSettingsMap;
837d214dfa174224b459660971e5b5cce2e06be02aBen Murdochclass GeolocationPermissionContext;
847d214dfa174224b459660971e5b5cce2e06be02aBen Murdochclass HistoryService;
857d214dfa174224b459660971e5b5cce2e06be02aBen Murdochclass HostContentSettingsMap;
867d214dfa174224b459660971e5b5cce2e06be02aBen Murdochclass HostZoomMap;
877d214dfa174224b459660971e5b5cce2e06be02aBen Murdochclass NavigationController;
887d214dfa174224b459660971e5b5cce2e06be02aBen Murdochclass NTPResourceCache;
897d214dfa174224b459660971e5b5cce2e06be02aBen Murdochclass PasswordStore;
907d214dfa174224b459660971e5b5cce2e06be02aBen Murdochclass PersonalDataManager;
917d214dfa174224b459660971e5b5cce2e06be02aBen Murdochclass PinnedTabService;
921bbc2eb6ced80e65ee853160820623e295e99d79Ben Murdochclass PrefProxyConfigTracker;
9396c28f8867c49042c0bfa240ea3babba600e6416Ben Murdochclass PromoCounter;
947d214dfa174224b459660971e5b5cce2e06be02aBen Murdochclass ProfileSyncService;
957d214dfa174224b459660971e5b5cce2e06be02aBen Murdochclass ProfileSyncFactory;
967d214dfa174224b459660971e5b5cce2e06be02aBen Murdochclass SessionService;
977d214dfa174224b459660971e5b5cce2e06be02aBen Murdochclass SpellCheckHost;
987d214dfa174224b459660971e5b5cce2e06be02aBen Murdochclass SSLConfigServiceManager;
997d214dfa174224b459660971e5b5cce2e06be02aBen Murdochclass SSLHostState;
1007d214dfa174224b459660971e5b5cce2e06be02aBen Murdochclass TransportSecurityPersister;
1017d214dfa174224b459660971e5b5cce2e06be02aBen Murdochclass SQLitePersistentCookieStore;
1027d214dfa174224b459660971e5b5cce2e06be02aBen Murdochclass TabRestoreService;
1037d214dfa174224b459660971e5b5cce2e06be02aBen Murdochclass TemplateURLFetcher;
1047d214dfa174224b459660971e5b5cce2e06be02aBen Murdochclass TemplateURLModel;
1057d214dfa174224b459660971e5b5cce2e06be02aBen Murdochclass ThemeProvider;
1067d214dfa174224b459660971e5b5cce2e06be02aBen Murdochclass TokenService;
1077d214dfa174224b459660971e5b5cce2e06be02aBen Murdochclass URLRequestContextGetter;
1087d214dfa174224b459660971e5b5cce2e06be02aBen Murdochclass UserScriptMaster;
1097d214dfa174224b459660971e5b5cce2e06be02aBen Murdochclass UserStyleSheetWatcher;
1107d214dfa174224b459660971e5b5cce2e06be02aBen Murdochclass VisitedLinkMaster;
1117d214dfa174224b459660971e5b5cce2e06be02aBen Murdochclass VisitedLinkEventListener;
1127d214dfa174224b459660971e5b5cce2e06be02aBen Murdochclass WebDataService;
1137d214dfa174224b459660971e5b5cce2e06be02aBen Murdochclass WebKitContext;
1147d214dfa174224b459660971e5b5cce2e06be02aBen Murdochclass WebResourceService;
1157d214dfa174224b459660971e5b5cce2e06be02aBen Murdochclass CloudPrintProxyService;
1167d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch
1177d214dfa174224b459660971e5b5cce2e06be02aBen Murdochtypedef intptr_t ProfileId;
1187d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch
1197d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch// The android profile implementation.
1207d214dfa174224b459660971e5b5cce2e06be02aBen Murdochclass ProfileImplAndroid : public Profile {
1217d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch public:
1227d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch  virtual ~ProfileImplAndroid();
1237d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch
12440eae52c5e5dbf475a0cf368c9ccbb7f8a0653f4Ben Murdoch  void SetRequestContext(URLRequestContextGetter* context) { url_request_context_getter_ = context; }
12540eae52c5e5dbf475a0cf368c9ccbb7f8a0653f4Ben Murdoch
1267d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch  // Profile implementation.
1277d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch  virtual Profile* GetOriginalProfile();
1287d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch  virtual PersonalDataManager* GetPersonalDataManager();
1297d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch  virtual PrefService* GetPrefs();
1307d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch  virtual FilePath GetPath() { return path_; }
13140eae52c5e5dbf475a0cf368c9ccbb7f8a0653f4Ben Murdoch  virtual URLRequestContextGetter* GetRequestContext();
1327d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch
1337d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch  // Functions from Profile that we don't need on Android for AutoFill.
1347d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch  virtual ProfileId GetRuntimeId() { NOTREACHED(); return 0; }
1357d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch  virtual bool IsOffTheRecord() { NOTREACHED(); return false; }
1367d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch  virtual Profile* GetOffTheRecordProfile() { NOTREACHED(); return NULL; }
1377d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch  virtual void DestroyOffTheRecordProfile() { NOTREACHED(); }
1387d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch  virtual bool HasOffTheRecordProfile() { NOTREACHED(); return false; }
139dbeb7bfd58939b6a020a91552afd12c32108a7c7Iain Merrick  virtual ChromeAppCacheService* GetAppCacheService() { NOTREACHED(); return NULL; }
1407d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch  virtual webkit_database::DatabaseTracker* GetDatabaseTracker() { NOTREACHED(); return NULL; }
1417d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch  virtual history::TopSites* GetTopSites() { NOTREACHED(); return NULL; }
1427d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch  virtual VisitedLinkMaster* GetVisitedLinkMaster() { NOTREACHED(); return NULL; }
1437d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch  virtual UserScriptMaster* GetUserScriptMaster() { NOTREACHED(); return NULL; }
1447d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch  virtual SSLHostState* GetSSLHostState() { NOTREACHED(); return NULL; }
1457d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch  virtual net::TransportSecurityState* GetTransportSecurityState() { NOTREACHED(); return NULL; }
1467d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch  virtual ExtensionsService* GetExtensionsService() { NOTREACHED(); return NULL; }
1477d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch  virtual ExtensionDevToolsManager* GetExtensionDevToolsManager() { NOTREACHED(); return NULL; }
1487d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch  virtual ExtensionProcessManager* GetExtensionProcessManager() { NOTREACHED(); return NULL; }
1497d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch  virtual ExtensionMessageService* GetExtensionMessageService() { NOTREACHED(); return NULL; }
150c9e6b390683f93c99d2f4cc1bd1a344ba2b1b339Iain Merrick  virtual ExtensionEventRouter* GetExtensionEventRouter() { NOTREACHED(); return NULL; }
1513f388049fd942346ffbeed1dd8f4214d36f8f856Kristian Monsen  virtual ExtensionIOEventRouter* GetExtensionIOEventRouter() { NOTREACHED(); return NULL; };
1527f5be1d04007766d15c1ca8bcbfbadd43f605aa0Kristian Monsen  virtual ExtensionService* GetExtensionService() { NOTREACHED(); return NULL; }
1537d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch  virtual FaviconService* GetFaviconService(ServiceAccessType sat) { NOTREACHED(); return NULL; }
1547d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch  virtual HistoryService* GetHistoryService(ServiceAccessType sat) { NOTREACHED(); return NULL; }
1557d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch  virtual HistoryService* GetHistoryServiceWithoutCreating() { NOTREACHED(); return NULL; }
1567d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch  virtual AutocompleteClassifier* GetAutocompleteClassifier() { NOTREACHED(); return NULL; }
1577d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch  virtual WebDataService* GetWebDataService(ServiceAccessType sat) { NOTREACHED(); return NULL; }
1587d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch  virtual WebDataService* GetWebDataServiceWithoutCreating() { NOTREACHED(); return NULL; }
1597d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch  virtual PasswordStore* GetPasswordStore(ServiceAccessType sat) { NOTREACHED(); return NULL; }
1603f388049fd942346ffbeed1dd8f4214d36f8f856Kristian Monsen  virtual PrefService* GetOffTheRecordPrefs() { NOTREACHED(); return NULL; }
1617d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch  virtual TemplateURLModel* GetTemplateURLModel() { NOTREACHED(); return NULL; }
1627d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch  virtual TemplateURLFetcher* GetTemplateURLFetcher() { NOTREACHED(); return NULL; }
1637d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch  virtual DownloadManager* GetDownloadManager() { NOTREACHED(); return NULL; }
1643f388049fd942346ffbeed1dd8f4214d36f8f856Kristian Monsen  virtual fileapi::FileSystemContext* GetFileSystemContext() { NOTREACHED(); return NULL; }
1657d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch  virtual void InitThemes() { NOTREACHED(); }
16681e333ba9bbaf09cb5411cb0966ae032d4539e12Ben Murdoch  virtual void SetTheme(const Extension* extension) { NOTREACHED(); }
1677d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch  virtual void SetNativeTheme() { NOTREACHED(); }
1687d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch  virtual void ClearTheme() { NOTREACHED(); }
16981e333ba9bbaf09cb5411cb0966ae032d4539e12Ben Murdoch  virtual const Extension* GetTheme() { NOTREACHED(); return NULL; }
1707d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch  virtual BrowserThemeProvider* GetThemeProvider()  { NOTREACHED(); return NULL; }
1717d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch  virtual bool HasCreatedDownloadManager() const { NOTREACHED(); return false; }
1727d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch  virtual URLRequestContextGetter* GetRequestContextForMedia()  { NOTREACHED(); return NULL; }
1737d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch  virtual URLRequestContextGetter* GetRequestContextForExtensions()  { NOTREACHED(); return NULL; }
17481e333ba9bbaf09cb5411cb0966ae032d4539e12Ben Murdoch  virtual void RegisterExtensionWithRequestContexts(const Extension* extension) { NOTREACHED(); }
17581e333ba9bbaf09cb5411cb0966ae032d4539e12Ben Murdoch  virtual void UnregisterExtensionWithRequestContexts(const Extension* extension) { NOTREACHED(); }
1767d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch  virtual net::SSLConfigService* GetSSLConfigService()  { NOTREACHED(); return NULL; }
1777d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch  virtual HostContentSettingsMap* GetHostContentSettingsMap()  { NOTREACHED(); return NULL; }
1787d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch  virtual HostZoomMap* GetHostZoomMap()  { NOTREACHED(); return NULL; }
1797d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch  virtual GeolocationContentSettingsMap* GetGeolocationContentSettingsMap()  { NOTREACHED(); return NULL; }
1807d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch  virtual GeolocationPermissionContext* GetGeolocationPermissionContext()  { NOTREACHED(); return NULL; }
1817d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch  virtual UserStyleSheetWatcher* GetUserStyleSheetWatcher()  { NOTREACHED(); return NULL; }
1827d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch  virtual FindBarState* GetFindBarState()  { NOTREACHED(); return NULL; }
1837d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch  virtual SessionService* GetSessionService()  { NOTREACHED(); return NULL; }
1847d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch  virtual void ShutdownSessionService() { NOTREACHED(); }
1857d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch  virtual bool HasSessionService() const { NOTREACHED(); return false; }
1867d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch  virtual bool DidLastSessionExitCleanly() { NOTREACHED(); return true; }
1877d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch  virtual BookmarkModel* GetBookmarkModel()  { NOTREACHED(); return NULL; }
1887d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch  virtual bool IsSameProfile(Profile* profile) { NOTREACHED(); return false; }
1897d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch  virtual base::Time GetStartTime() const  { NOTREACHED(); return base::Time(); }
1907d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch  virtual TabRestoreService* GetTabRestoreService()  { NOTREACHED(); return NULL; }
1917d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch  virtual void ResetTabRestoreService() { NOTREACHED(); }
1927d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch  virtual SpellCheckHost* GetSpellCheckHost()  { NOTREACHED(); return NULL; }
1937d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch  virtual void ReinitializeSpellCheckHost(bool force) { NOTREACHED(); }
1947d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch  virtual WebKitContext* GetWebKitContext()  { NOTREACHED(); return NULL; }
1957d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch  virtual DesktopNotificationService* GetDesktopNotificationService() { NOTREACHED(); return NULL; }
19696c28f8867c49042c0bfa240ea3babba600e6416Ben Murdoch  virtual BackgroundContentsService* GetBackgroundContentsService() const { NOTREACHED(); return NULL; }
197dbeb7bfd58939b6a020a91552afd12c32108a7c7Iain Merrick  virtual StatusTray* GetStatusTray() { NOTREACHED(); return NULL; }
1987d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch  virtual void MarkAsCleanShutdown() { NOTREACHED(); }
1997d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch  virtual void InitExtensions() { NOTREACHED(); }
2007d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch  virtual void InitWebResources() { NOTREACHED(); }
2017d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch  virtual NTPResourceCache* GetNTPResourceCache()  { NOTREACHED(); return NULL; }
2027d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch  virtual FilePath last_selected_directory() { NOTREACHED(); return FilePath(""); }
2037d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch  virtual void set_last_selected_directory(const FilePath& path) { NOTREACHED(); }
204dbeb7bfd58939b6a020a91552afd12c32108a7c7Iain Merrick  virtual ChromeBlobStorageContext* GetBlobStorageContext() { NOTREACHED(); return NULL; }
205c9e6b390683f93c99d2f4cc1bd1a344ba2b1b339Iain Merrick  virtual ExtensionInfoMap* GetExtensionInfoMap() { NOTREACHED(); return NULL; }
20696c28f8867c49042c0bfa240ea3babba600e6416Ben Murdoch  virtual PromoCounter* GetInstantPromoCounter() { NOTREACHED(); return NULL; }
2077d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch  virtual ProfileSyncService* GetProfileSyncService()  { NOTREACHED();  return NULL; }
208dbeb7bfd58939b6a020a91552afd12c32108a7c7Iain Merrick  virtual ProfileSyncService* GetProfileSyncService(const std::string&) { NOTREACHED(); return NULL; }
2097d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch  virtual TokenService* GetTokenService()  { NOTREACHED(); return NULL; }
2107d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch  void InitSyncService() { NOTREACHED(); }
2117d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch  virtual CloudPrintProxyService* GetCloudPrintProxyService()  { NOTREACHED(); return NULL; }
2127d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch  void InitCloudPrintProxyService() { NOTREACHED(); }
2137d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch
21481e333ba9bbaf09cb5411cb0966ae032d4539e12Ben Murdoch  virtual history::TopSites* GetTopSitesWithoutCreating() { NOTREACHED(); return NULL; }
21581e333ba9bbaf09cb5411cb0966ae032d4539e12Ben Murdoch  virtual BrowserSignin* GetBrowserSignin() { NOTREACHED(); return NULL; }
21681e333ba9bbaf09cb5411cb0966ae032d4539e12Ben Murdoch  virtual bool HasProfileSyncService() const { NOTREACHED(); return false; }
21781e333ba9bbaf09cb5411cb0966ae032d4539e12Ben Murdoch
2181bbc2eb6ced80e65ee853160820623e295e99d79Ben Murdoch  virtual policy::ProfilePolicyContext* GetPolicyContext() { NOTREACHED(); return NULL; }
2193f388049fd942346ffbeed1dd8f4214d36f8f856Kristian Monsen  virtual ChromeURLDataManager* GetChromeURLDataManager() { NOTREACHED(); return NULL; }
2201bbc2eb6ced80e65ee853160820623e295e99d79Ben Murdoch  virtual PrefProxyConfigTracker* GetProxyConfigTracker() { NOTREACHED(); return NULL; }
2217f5be1d04007766d15c1ca8bcbfbadd43f605aa0Kristian Monsen  virtual PrerenderManager* GetPrerenderManager() { NOTREACHED(); return NULL; }
2221bbc2eb6ced80e65ee853160820623e295e99d79Ben Murdoch
2237d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch private:
2247d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch  friend class Profile;
2257d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch
2267d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch  explicit ProfileImplAndroid(const FilePath& path);
2277d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch
2287d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch  void CreateWebDataService() { NOTREACHED(); }
2297d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch  FilePath GetPrefFilePath() { return path_; }
2307d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch
2317d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch  void CreatePasswordStore() { NOTREACHED(); }
2327d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch
2337d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch  void StopCreateSessionServiceTimer() { NOTREACHED(); }
2347d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch
2357d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch  void EnsureRequestContextCreated() {
2367d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch    GetRequestContext();
2377d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch  }
2387d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch
2397d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch  void EnsureSessionServiceCreated() {
2407d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch    GetSessionService();
2417d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch  }
2427d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch
2437d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch  FilePath path_;
2447d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch  scoped_ptr<PrefService> preferences_;
2457d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch  scoped_refptr<PersonalDataManager> personal_data_;
24640eae52c5e5dbf475a0cf368c9ccbb7f8a0653f4Ben Murdoch  scoped_refptr<URLRequestContextGetter> url_request_context_getter_;
2477d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch
2487d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch  DISALLOW_COPY_AND_ASSIGN(ProfileImplAndroid);
2497d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch};
2507d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch
2517d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch#endif  // CHROME_BROWSER_PROFILE_H_
252