| 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 |