[content shell] implement testRunner.overridePreference
[chromium-blink-merge.git] / content / shell / shell_browser_context.h
blobf58132e42339be2fd8ba0a07fca871a56c9dac7b
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
3 // found in the LICENSE file.
5 #ifndef CONTENT_SHELL_SHELL_BROWSER_CONTEXT_H_
6 #define CONTENT_SHELL_SHELL_BROWSER_CONTEXT_H_
8 #include "base/compiler_specific.h"
9 #include "base/file_path.h"
10 #include "base/memory/ref_counted.h"
11 #include "base/memory/scoped_ptr.h"
12 #include "content/public/browser/browser_context.h"
14 namespace content {
16 class DownloadManagerDelegate;
17 class ResourceContext;
18 class ShellDownloadManagerDelegate;
20 class ShellBrowserContext : public BrowserContext {
21 public:
22 explicit ShellBrowserContext(bool off_the_record);
23 virtual ~ShellBrowserContext();
25 // BrowserContext implementation.
26 virtual FilePath GetPath() OVERRIDE;
27 virtual bool IsOffTheRecord() const OVERRIDE;
28 virtual DownloadManagerDelegate* GetDownloadManagerDelegate() OVERRIDE;
29 virtual net::URLRequestContextGetter* GetRequestContext() OVERRIDE;
30 virtual net::URLRequestContextGetter* GetRequestContextForRenderProcess(
31 int renderer_child_id) OVERRIDE;
32 virtual net::URLRequestContextGetter* GetMediaRequestContext() OVERRIDE;
33 virtual net::URLRequestContextGetter* GetMediaRequestContextForRenderProcess(
34 int renderer_child_id) OVERRIDE;
35 virtual net::URLRequestContextGetter*
36 GetMediaRequestContextForStoragePartition(
37 const FilePath& partition_path,
38 bool in_memory) OVERRIDE;
39 virtual net::URLRequestContextGetter* GetRequestContextForStoragePartition(
40 const FilePath& partition_path,
41 bool in_memory) OVERRIDE;
42 virtual ResourceContext* GetResourceContext() OVERRIDE;
43 virtual GeolocationPermissionContext*
44 GetGeolocationPermissionContext() OVERRIDE;
45 virtual SpeechRecognitionPreferences*
46 GetSpeechRecognitionPreferences() OVERRIDE;
47 virtual quota::SpecialStoragePolicy* GetSpecialStoragePolicy() OVERRIDE;
49 private:
50 // Performs initialization of the ShellBrowserContext while IO is still
51 // allowed on the current thread.
52 void InitWhileIOAllowed();
54 bool off_the_record_;
55 bool ignore_certificate_errors_;
56 FilePath path_;
57 scoped_ptr<ResourceContext> resource_context_;
58 scoped_refptr<ShellDownloadManagerDelegate> download_manager_delegate_;
59 scoped_refptr<net::URLRequestContextGetter> url_request_getter_;
61 DISALLOW_COPY_AND_ASSIGN(ShellBrowserContext);
64 } // namespace content
66 #endif // CONTENT_SHELL_SHELL_BROWSER_CONTEXT_H_