1// Copyright 2013 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef CHROME_BROWSER_UI_APP_LIST_TEST_FAKE_PROFILE_H_
6#define CHROME_BROWSER_UI_APP_LIST_TEST_FAKE_PROFILE_H_
7
8#include "base/files/file_path.h"
9#include "base/memory/ref_counted.h"
10#include "base/sequenced_task_runner.h"
11#include "chrome/browser/profiles/profile.h"
12#include "content/public/browser/browser_context.h"
13
14class ResourceContext;
15
16namespace net {
17class URLRequestContextGetter;
18}
19
20namespace content {
21class DownloadManagerDelegate;
22class GeolocationPermissionContext;
23class ResourceContext;
24}
25
26class FakeProfile : public Profile {
27 public:
28  explicit FakeProfile(const std::string& name);
29  FakeProfile(const std::string& name, const base::FilePath& path);
30
31  // Profile overrides.
32  virtual std::string GetProfileName() OVERRIDE;
33  virtual base::FilePath GetPath() const OVERRIDE;
34  virtual bool IsOffTheRecord() const OVERRIDE;
35  virtual content::DownloadManagerDelegate*
36      GetDownloadManagerDelegate() OVERRIDE;
37  virtual net::URLRequestContextGetter* GetRequestContextForRenderProcess(
38      int renderer_child_id) OVERRIDE;
39  virtual net::URLRequestContextGetter* GetMediaRequestContext() OVERRIDE;
40  virtual net::URLRequestContextGetter* GetMediaRequestContextForRenderProcess(
41      int renderer_child_id) OVERRIDE;
42  virtual net::URLRequestContextGetter*
43      GetMediaRequestContextForStoragePartition(
44          const base::FilePath& partition_path,
45          bool in_memory) OVERRIDE;
46  virtual void RequestMIDISysExPermission(
47      int render_process_id,
48      int render_view_id,
49      int bridge_id,
50      const GURL& requesting_frame,
51      const MIDISysExPermissionCallback& callback) OVERRIDE;
52  virtual void CancelMIDISysExPermissionRequest(
53        int render_process_id,
54        int render_view_id,
55        int bridge_id,
56        const GURL& requesting_frame) OVERRIDE;
57  virtual content::ResourceContext* GetResourceContext() OVERRIDE;
58  virtual content::GeolocationPermissionContext*
59      GetGeolocationPermissionContext() OVERRIDE;
60  virtual quota::SpecialStoragePolicy* GetSpecialStoragePolicy() OVERRIDE;
61  virtual scoped_refptr<base::SequencedTaskRunner> GetIOTaskRunner() OVERRIDE;
62  virtual Profile* GetOffTheRecordProfile() OVERRIDE;
63  virtual void DestroyOffTheRecordProfile() OVERRIDE;
64  virtual bool HasOffTheRecordProfile() OVERRIDE;
65  virtual Profile* GetOriginalProfile() OVERRIDE;
66  virtual bool IsManaged() OVERRIDE;
67  virtual history::TopSites* GetTopSites() OVERRIDE;
68  virtual history::TopSites* GetTopSitesWithoutCreating() OVERRIDE;
69  virtual ExtensionService* GetExtensionService() OVERRIDE;
70  virtual ExtensionSpecialStoragePolicy*
71      GetExtensionSpecialStoragePolicy() OVERRIDE;
72  virtual PrefService* GetPrefs() OVERRIDE;
73  virtual PrefService* GetOffTheRecordPrefs() OVERRIDE;
74  virtual net::URLRequestContextGetter* GetRequestContext() OVERRIDE;
75  virtual net::URLRequestContextGetter*
76      GetRequestContextForExtensions() OVERRIDE;
77  virtual net::SSLConfigService* GetSSLConfigService() OVERRIDE;
78  virtual HostContentSettingsMap* GetHostContentSettingsMap() OVERRIDE;
79  virtual bool IsSameProfile(Profile* profile) OVERRIDE;
80  virtual base::Time GetStartTime() const OVERRIDE;
81  virtual net::URLRequestContextGetter* CreateRequestContext(
82      content::ProtocolHandlerMap* protocol_handlers) OVERRIDE;
83  virtual net::URLRequestContextGetter* CreateRequestContextForStoragePartition(
84      const base::FilePath& partition_path,
85      bool in_memory,
86      content::ProtocolHandlerMap* protocol_handlers) OVERRIDE;
87  virtual base::FilePath last_selected_directory() OVERRIDE;
88  virtual void set_last_selected_directory(const base::FilePath& path) OVERRIDE;
89
90#if defined(OS_CHROMEOS)
91  virtual void ChangeAppLocale(
92      const std::string& locale, AppLocaleChangedVia via) OVERRIDE;
93  virtual void OnLogin() OVERRIDE;
94  virtual void InitChromeOSPreferences() OVERRIDE;
95#endif  // defined(OS_CHROMEOS)
96
97  virtual PrefProxyConfigTracker* GetProxyConfigTracker() OVERRIDE;
98  virtual chrome_browser_net::Predictor* GetNetworkPredictor() OVERRIDE;
99  virtual void ClearNetworkingHistorySince(
100      base::Time time, const base::Closure& completion) OVERRIDE;
101  virtual GURL GetHomePage() OVERRIDE;
102  virtual bool WasCreatedByVersionOrLater(const std::string& version) OVERRIDE;
103  virtual void SetExitType(ExitType exit_type) OVERRIDE;
104  virtual ExitType GetLastSessionExitType() OVERRIDE;
105
106 private:
107  std::string name_;
108  base::FilePath path_;
109};
110
111#endif  // CHROME_BROWSER_UI_APP_LIST_TEST_FAKE_PROFILE_H_
112