OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 EXTENSIONS_SHELL_BROWSER_SHELL_BROWSER_CONTEXT_H_ | 5 #ifndef EXTENSIONS_SHELL_BROWSER_SHELL_BROWSER_CONTEXT_H_ |
6 #define EXTENSIONS_SHELL_BROWSER_SHELL_BROWSER_CONTEXT_H_ | 6 #define EXTENSIONS_SHELL_BROWSER_SHELL_BROWSER_CONTEXT_H_ |
7 | 7 |
8 #include "base/compiler_specific.h" | 8 #include "base/compiler_specific.h" |
9 #include "base/memory/ref_counted.h" | 9 #include "base/memory/ref_counted.h" |
10 #include "content/shell/browser/shell_browser_context.h" | 10 #include "content/shell/browser/shell_browser_context.h" |
11 #include "storage/browser/quota/special_storage_policy.h" | 11 #include "storage/browser/quota/special_storage_policy.h" |
12 | 12 |
| 13 namespace net { |
| 14 class NetLog; |
| 15 } |
| 16 |
13 namespace extensions { | 17 namespace extensions { |
14 | 18 |
| 19 class InfoMap; |
15 class ShellSpecialStoragePolicy; | 20 class ShellSpecialStoragePolicy; |
16 | 21 |
17 // The BrowserContext used by the content, apps and extensions systems in | 22 // The BrowserContext used by the content, apps and extensions systems in |
18 // app_shell. | 23 // app_shell. |
19 class ShellBrowserContext : public content::ShellBrowserContext { | 24 class ShellBrowserContext : public content::ShellBrowserContext { |
20 public: | 25 public: |
21 ShellBrowserContext(); | 26 explicit ShellBrowserContext(net::NetLog* net_log); |
22 virtual ~ShellBrowserContext(); | 27 virtual ~ShellBrowserContext(); |
23 | 28 |
24 // content::BrowserContext implementation. | 29 // content::BrowserContext implementation. |
25 virtual content::BrowserPluginGuestManager* GetGuestManager() OVERRIDE; | 30 virtual content::BrowserPluginGuestManager* GetGuestManager() OVERRIDE; |
26 virtual storage::SpecialStoragePolicy* GetSpecialStoragePolicy() OVERRIDE; | 31 virtual storage::SpecialStoragePolicy* GetSpecialStoragePolicy() OVERRIDE; |
27 | 32 |
| 33 net::URLRequestContextGetter* CreateRequestContext( |
| 34 content::ProtocolHandlerMap* protocol_handlers, |
| 35 content::URLRequestInterceptorScopedVector request_interceptors, |
| 36 InfoMap* extension_info_map); |
| 37 |
28 // HACK: Pad the virtual function table so we trip an assertion if someone | 38 // HACK: Pad the virtual function table so we trip an assertion if someone |
29 // tries to use |this| as a Profile. | 39 // tries to use |this| as a Profile. |
30 virtual void ProfileFunctionCallOnNonProfileBrowserContext1(); | 40 virtual void ProfileFunctionCallOnNonProfileBrowserContext1(); |
31 virtual void ProfileFunctionCallOnNonProfileBrowserContext2(); | 41 virtual void ProfileFunctionCallOnNonProfileBrowserContext2(); |
32 virtual void ProfileFunctionCallOnNonProfileBrowserContext3(); | 42 virtual void ProfileFunctionCallOnNonProfileBrowserContext3(); |
33 virtual void ProfileFunctionCallOnNonProfileBrowserContext4(); | 43 virtual void ProfileFunctionCallOnNonProfileBrowserContext4(); |
34 virtual void ProfileFunctionCallOnNonProfileBrowserContext5(); | 44 virtual void ProfileFunctionCallOnNonProfileBrowserContext5(); |
35 virtual void ProfileFunctionCallOnNonProfileBrowserContext6(); | 45 virtual void ProfileFunctionCallOnNonProfileBrowserContext6(); |
36 virtual void ProfileFunctionCallOnNonProfileBrowserContext7(); | 46 virtual void ProfileFunctionCallOnNonProfileBrowserContext7(); |
37 virtual void ProfileFunctionCallOnNonProfileBrowserContext8(); | 47 virtual void ProfileFunctionCallOnNonProfileBrowserContext8(); |
38 virtual void ProfileFunctionCallOnNonProfileBrowserContext9(); | 48 virtual void ProfileFunctionCallOnNonProfileBrowserContext9(); |
39 virtual void ProfileFunctionCallOnNonProfileBrowserContext10(); | 49 virtual void ProfileFunctionCallOnNonProfileBrowserContext10(); |
40 virtual void ProfileFunctionCallOnNonProfileBrowserContext11(); | 50 virtual void ProfileFunctionCallOnNonProfileBrowserContext11(); |
41 virtual void ProfileFunctionCallOnNonProfileBrowserContext12(); | 51 virtual void ProfileFunctionCallOnNonProfileBrowserContext12(); |
42 virtual void ProfileFunctionCallOnNonProfileBrowserContext13(); | 52 virtual void ProfileFunctionCallOnNonProfileBrowserContext13(); |
43 virtual void ProfileFunctionCallOnNonProfileBrowserContext14(); | 53 virtual void ProfileFunctionCallOnNonProfileBrowserContext14(); |
44 virtual void ProfileFunctionCallOnNonProfileBrowserContext15(); | 54 virtual void ProfileFunctionCallOnNonProfileBrowserContext15(); |
45 | 55 |
46 private: | 56 private: |
| 57 void Init(); |
| 58 void InitializationOnIOThread(); |
| 59 net::NetLog* net_log_; |
| 60 bool ignore_certificate_errors_; |
47 scoped_refptr<storage::SpecialStoragePolicy> storage_policy_; | 61 scoped_refptr<storage::SpecialStoragePolicy> storage_policy_; |
| 62 scoped_refptr<net::URLRequestContextGetter> url_request_context_getter_; |
48 | 63 |
49 DISALLOW_COPY_AND_ASSIGN(ShellBrowserContext); | 64 DISALLOW_COPY_AND_ASSIGN(ShellBrowserContext); |
50 }; | 65 }; |
51 | 66 |
52 } // namespace extensions | 67 } // namespace extensions |
53 | 68 |
54 #endif // EXTENSIONS_SHELL_BROWSER_SHELL_BROWSER_CONTEXT_H_ | 69 #endif // EXTENSIONS_SHELL_BROWSER_SHELL_BROWSER_CONTEXT_H_ |
OLD | NEW |