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_EXTENSIONS_BROWSER_CLIENT_H_ | 5 #ifndef EXTENSIONS_SHELL_BROWSER_SHELL_EXTENSIONS_BROWSER_CLIENT_H_ |
6 #define EXTENSIONS_SHELL_BROWSER_SHELL_EXTENSIONS_BROWSER_CLIENT_H_ | 6 #define EXTENSIONS_SHELL_BROWSER_SHELL_EXTENSIONS_BROWSER_CLIENT_H_ |
7 | 7 |
8 #include "base/compiler_specific.h" | 8 #include "base/compiler_specific.h" |
9 #include "extensions/browser/extensions_browser_client.h" | 9 #include "extensions/browser/extensions_browser_client.h" |
10 | 10 |
11 class PrefService; | 11 class PrefService; |
12 | 12 |
13 namespace extensions { | 13 namespace extensions { |
14 | 14 |
15 class ExtensionsAPIClient; | 15 class ExtensionsAPIClient; |
16 | 16 |
17 // An ExtensionsBrowserClient that supports a single content::BrowserContent | 17 // An ExtensionsBrowserClient that supports a single content::BrowserContent |
18 // with no related incognito context. | 18 // with no related incognito context. |
19 class ShellExtensionsBrowserClient : public ExtensionsBrowserClient { | 19 class ShellExtensionsBrowserClient : public ExtensionsBrowserClient { |
20 public: | 20 public: |
21 // |context| is the single BrowserContext used for IsValidContext() below. | 21 // |context| is the single BrowserContext used for IsValidContext() below. |
22 explicit ShellExtensionsBrowserClient(content::BrowserContext* context); | 22 explicit ShellExtensionsBrowserClient(content::BrowserContext* context); |
23 virtual ~ShellExtensionsBrowserClient(); | 23 ~ShellExtensionsBrowserClient() override; |
24 | 24 |
25 // ExtensionsBrowserClient overrides: | 25 // ExtensionsBrowserClient overrides: |
26 virtual bool IsShuttingDown() override; | 26 bool IsShuttingDown() override; |
27 virtual bool AreExtensionsDisabled(const base::CommandLine& command_line, | 27 bool AreExtensionsDisabled(const base::CommandLine& command_line, |
28 content::BrowserContext* context) override; | 28 content::BrowserContext* context) override; |
29 virtual bool IsValidContext(content::BrowserContext* context) override; | 29 bool IsValidContext(content::BrowserContext* context) override; |
30 virtual bool IsSameContext(content::BrowserContext* first, | 30 bool IsSameContext(content::BrowserContext* first, |
31 content::BrowserContext* second) override; | 31 content::BrowserContext* second) override; |
32 virtual bool HasOffTheRecordContext( | 32 bool HasOffTheRecordContext(content::BrowserContext* context) override; |
| 33 content::BrowserContext* GetOffTheRecordContext( |
33 content::BrowserContext* context) override; | 34 content::BrowserContext* context) override; |
34 virtual content::BrowserContext* GetOffTheRecordContext( | 35 content::BrowserContext* GetOriginalContext( |
35 content::BrowserContext* context) override; | 36 content::BrowserContext* context) override; |
36 virtual content::BrowserContext* GetOriginalContext( | 37 bool IsGuestSession(content::BrowserContext* context) const override; |
37 content::BrowserContext* context) override; | 38 bool IsExtensionIncognitoEnabled( |
38 virtual bool IsGuestSession(content::BrowserContext* context) const override; | |
39 virtual bool IsExtensionIncognitoEnabled( | |
40 const std::string& extension_id, | 39 const std::string& extension_id, |
41 content::BrowserContext* context) const override; | 40 content::BrowserContext* context) const override; |
42 virtual bool CanExtensionCrossIncognito( | 41 bool CanExtensionCrossIncognito( |
43 const Extension* extension, | 42 const Extension* extension, |
44 content::BrowserContext* context) const override; | 43 content::BrowserContext* context) const override; |
45 virtual net::URLRequestJob* MaybeCreateResourceBundleRequestJob( | 44 net::URLRequestJob* MaybeCreateResourceBundleRequestJob( |
46 net::URLRequest* request, | 45 net::URLRequest* request, |
47 net::NetworkDelegate* network_delegate, | 46 net::NetworkDelegate* network_delegate, |
48 const base::FilePath& directory_path, | 47 const base::FilePath& directory_path, |
49 const std::string& content_security_policy, | 48 const std::string& content_security_policy, |
50 bool send_cors_header) override; | 49 bool send_cors_header) override; |
51 virtual bool AllowCrossRendererResourceLoad( | 50 bool AllowCrossRendererResourceLoad(net::URLRequest* request, |
52 net::URLRequest* request, | 51 bool is_incognito, |
53 bool is_incognito, | 52 const Extension* extension, |
54 const Extension* extension, | 53 InfoMap* extension_info_map) override; |
55 InfoMap* extension_info_map) override; | 54 PrefService* GetPrefServiceForContext( |
56 virtual PrefService* GetPrefServiceForContext( | |
57 content::BrowserContext* context) override; | 55 content::BrowserContext* context) override; |
58 virtual void GetEarlyExtensionPrefsObservers( | 56 void GetEarlyExtensionPrefsObservers( |
59 content::BrowserContext* context, | 57 content::BrowserContext* context, |
60 std::vector<ExtensionPrefsObserver*>* observers) const override; | 58 std::vector<ExtensionPrefsObserver*>* observers) const override; |
61 virtual ProcessManagerDelegate* GetProcessManagerDelegate() const override; | 59 ProcessManagerDelegate* GetProcessManagerDelegate() const override; |
62 virtual scoped_ptr<ExtensionHostDelegate> CreateExtensionHostDelegate() | 60 scoped_ptr<ExtensionHostDelegate> CreateExtensionHostDelegate() override; |
| 61 bool DidVersionUpdate(content::BrowserContext* context) override; |
| 62 void PermitExternalProtocolHandler() override; |
| 63 scoped_ptr<AppSorting> CreateAppSorting() override; |
| 64 bool IsRunningInForcedAppMode() override; |
| 65 ApiActivityMonitor* GetApiActivityMonitor( |
| 66 content::BrowserContext* context) override; |
| 67 ExtensionSystemProvider* GetExtensionSystemFactory() override; |
| 68 void RegisterExtensionFunctions( |
| 69 ExtensionFunctionRegistry* registry) const override; |
| 70 scoped_ptr<RuntimeAPIDelegate> CreateRuntimeAPIDelegate( |
| 71 content::BrowserContext* context) const override; |
| 72 ComponentExtensionResourceManager* GetComponentExtensionResourceManager() |
63 override; | 73 override; |
64 virtual bool DidVersionUpdate(content::BrowserContext* context) override; | 74 void BroadcastEventToRenderers(const std::string& event_name, |
65 virtual void PermitExternalProtocolHandler() override; | 75 scoped_ptr<base::ListValue> args) override; |
66 virtual scoped_ptr<AppSorting> CreateAppSorting() override; | 76 net::NetLog* GetNetLog() override; |
67 virtual bool IsRunningInForcedAppMode() override; | 77 ExtensionCache* GetExtensionCache() override; |
68 virtual ApiActivityMonitor* GetApiActivityMonitor( | 78 bool IsBackgroundUpdateAllowed() override; |
69 content::BrowserContext* context) override; | 79 bool IsMinBrowserVersionSupported(const std::string& min_version) override; |
70 virtual ExtensionSystemProvider* GetExtensionSystemFactory() override; | |
71 virtual void RegisterExtensionFunctions( | |
72 ExtensionFunctionRegistry* registry) const override; | |
73 virtual scoped_ptr<RuntimeAPIDelegate> CreateRuntimeAPIDelegate( | |
74 content::BrowserContext* context) const override; | |
75 virtual ComponentExtensionResourceManager* | |
76 GetComponentExtensionResourceManager() override; | |
77 virtual void BroadcastEventToRenderers( | |
78 const std::string& event_name, | |
79 scoped_ptr<base::ListValue> args) override; | |
80 virtual net::NetLog* GetNetLog() override; | |
81 virtual ExtensionCache* GetExtensionCache() override; | |
82 virtual bool IsBackgroundUpdateAllowed() override; | |
83 virtual bool IsMinBrowserVersionSupported( | |
84 const std::string& min_version) override; | |
85 | 80 |
86 private: | 81 private: |
87 // The single BrowserContext for app_shell. Not owned. | 82 // The single BrowserContext for app_shell. Not owned. |
88 content::BrowserContext* browser_context_; | 83 content::BrowserContext* browser_context_; |
89 | 84 |
90 // Support for extension APIs. | 85 // Support for extension APIs. |
91 scoped_ptr<ExtensionsAPIClient> api_client_; | 86 scoped_ptr<ExtensionsAPIClient> api_client_; |
92 | 87 |
93 // The PrefService for |browser_context_|. | 88 // The PrefService for |browser_context_|. |
94 scoped_ptr<PrefService> prefs_; | 89 scoped_ptr<PrefService> prefs_; |
95 | 90 |
96 // The extension cache used for download and installation. | 91 // The extension cache used for download and installation. |
97 scoped_ptr<ExtensionCache> extension_cache_; | 92 scoped_ptr<ExtensionCache> extension_cache_; |
98 | 93 |
99 DISALLOW_COPY_AND_ASSIGN(ShellExtensionsBrowserClient); | 94 DISALLOW_COPY_AND_ASSIGN(ShellExtensionsBrowserClient); |
100 }; | 95 }; |
101 | 96 |
102 } // namespace extensions | 97 } // namespace extensions |
103 | 98 |
104 #endif // EXTENSIONS_SHELL_BROWSER_SHELL_EXTENSIONS_BROWSER_CLIENT_H_ | 99 #endif // EXTENSIONS_SHELL_BROWSER_SHELL_EXTENSIONS_BROWSER_CLIENT_H_ |
OLD | NEW |