| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 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 | 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 CHROME_BROWSER_EXTENSIONS_CHROME_EXTENSIONS_BROWSER_CLIENT_H_ | 5 #ifndef CHROME_BROWSER_EXTENSIONS_CHROME_EXTENSIONS_BROWSER_CLIENT_H_ |
| 6 #define CHROME_BROWSER_EXTENSIONS_CHROME_EXTENSIONS_BROWSER_CLIENT_H_ | 6 #define CHROME_BROWSER_EXTENSIONS_CHROME_EXTENSIONS_BROWSER_CLIENT_H_ |
| 7 | 7 |
| 8 #include <map> | 8 #include <map> |
| 9 | 9 |
| 10 #include "base/basictypes.h" | 10 #include "base/basictypes.h" |
| 11 #include "base/compiler_specific.h" | 11 #include "base/compiler_specific.h" |
| 12 #include "base/lazy_instance.h" | 12 #include "base/lazy_instance.h" |
| 13 #include "base/memory/scoped_ptr.h" | 13 #include "base/memory/scoped_ptr.h" |
| 14 #include "chrome/browser/extensions/chrome_notification_observer.h" | 14 #include "chrome/browser/extensions/chrome_notification_observer.h" |
| 15 #include "extensions/browser/extensions_browser_client.h" | 15 #include "extensions/browser/extensions_browser_client.h" |
| 16 | 16 |
| 17 namespace base { | 17 namespace base { |
| 18 class CommandLine; | 18 class CommandLine; |
| 19 } | 19 } |
| 20 | 20 |
| 21 namespace content { | 21 namespace content { |
| 22 class BrowserContext; | 22 class BrowserContext; |
| 23 } | 23 } |
| 24 | 24 |
| 25 namespace extensions { | 25 namespace extensions { |
| 26 | 26 |
| 27 class ChromeComponentExtensionResourceManager; | 27 class ChromeComponentExtensionResourceManager; |
| 28 class ChromeExtensionsAPIClient; | 28 class ChromeExtensionsAPIClient; |
| 29 class ChromeProcessManagerDelegate; |
| 29 class ContentSettingsPrefsObserver; | 30 class ContentSettingsPrefsObserver; |
| 30 | 31 |
| 31 // Implementation of extensions::BrowserClient for Chrome, which includes | 32 // Implementation of extensions::BrowserClient for Chrome, which includes |
| 32 // knowledge of Profiles, BrowserContexts and incognito. | 33 // knowledge of Profiles, BrowserContexts and incognito. |
| 33 // | 34 // |
| 34 // NOTE: Methods that do not require knowledge of browser concepts should be | 35 // NOTE: Methods that do not require knowledge of browser concepts should be |
| 35 // implemented in ChromeExtensionsClient even if they are only used in the | 36 // implemented in ChromeExtensionsClient even if they are only used in the |
| 36 // browser process (see chrome/common/extensions/chrome_extensions_client.h). | 37 // browser process (see chrome/common/extensions/chrome_extensions_client.h). |
| 37 class ChromeExtensionsBrowserClient : public ExtensionsBrowserClient { | 38 class ChromeExtensionsBrowserClient : public ExtensionsBrowserClient { |
| 38 public: | 39 public: |
| (...skipping 30 matching lines...) Expand all Loading... |
| 69 virtual bool AllowCrossRendererResourceLoad(net::URLRequest* request, | 70 virtual bool AllowCrossRendererResourceLoad(net::URLRequest* request, |
| 70 bool is_incognito, | 71 bool is_incognito, |
| 71 const Extension* extension, | 72 const Extension* extension, |
| 72 InfoMap* extension_info_map) | 73 InfoMap* extension_info_map) |
| 73 OVERRIDE; | 74 OVERRIDE; |
| 74 virtual PrefService* GetPrefServiceForContext( | 75 virtual PrefService* GetPrefServiceForContext( |
| 75 content::BrowserContext* context) OVERRIDE; | 76 content::BrowserContext* context) OVERRIDE; |
| 76 virtual void GetEarlyExtensionPrefsObservers( | 77 virtual void GetEarlyExtensionPrefsObservers( |
| 77 content::BrowserContext* context, | 78 content::BrowserContext* context, |
| 78 std::vector<ExtensionPrefsObserver*>* observers) const OVERRIDE; | 79 std::vector<ExtensionPrefsObserver*>* observers) const OVERRIDE; |
| 79 virtual bool DeferLoadingBackgroundHosts( | 80 virtual ProcessManagerDelegate* GetProcessManagerDelegate() const OVERRIDE; |
| 80 content::BrowserContext* context) const OVERRIDE; | |
| 81 virtual bool IsBackgroundPageAllowed( | |
| 82 content::BrowserContext* context) const OVERRIDE; | |
| 83 virtual scoped_ptr<ExtensionHostDelegate> CreateExtensionHostDelegate() | 81 virtual scoped_ptr<ExtensionHostDelegate> CreateExtensionHostDelegate() |
| 84 OVERRIDE; | 82 OVERRIDE; |
| 85 virtual bool DidVersionUpdate(content::BrowserContext* context) OVERRIDE; | 83 virtual bool DidVersionUpdate(content::BrowserContext* context) OVERRIDE; |
| 86 virtual scoped_ptr<AppSorting> CreateAppSorting() OVERRIDE; | 84 virtual scoped_ptr<AppSorting> CreateAppSorting() OVERRIDE; |
| 87 virtual bool IsRunningInForcedAppMode() OVERRIDE; | 85 virtual bool IsRunningInForcedAppMode() OVERRIDE; |
| 88 virtual ApiActivityMonitor* GetApiActivityMonitor( | 86 virtual ApiActivityMonitor* GetApiActivityMonitor( |
| 89 content::BrowserContext* context) OVERRIDE; | 87 content::BrowserContext* context) OVERRIDE; |
| 90 virtual ExtensionSystemProvider* GetExtensionSystemFactory() OVERRIDE; | 88 virtual ExtensionSystemProvider* GetExtensionSystemFactory() OVERRIDE; |
| 91 virtual void RegisterExtensionFunctions( | 89 virtual void RegisterExtensionFunctions( |
| 92 ExtensionFunctionRegistry* registry) const OVERRIDE; | 90 ExtensionFunctionRegistry* registry) const OVERRIDE; |
| 93 virtual scoped_ptr<extensions::RuntimeAPIDelegate> CreateRuntimeAPIDelegate( | 91 virtual scoped_ptr<extensions::RuntimeAPIDelegate> CreateRuntimeAPIDelegate( |
| 94 content::BrowserContext* context) const OVERRIDE; | 92 content::BrowserContext* context) const OVERRIDE; |
| 95 virtual ComponentExtensionResourceManager* | 93 virtual ComponentExtensionResourceManager* |
| 96 GetComponentExtensionResourceManager() OVERRIDE; | 94 GetComponentExtensionResourceManager() OVERRIDE; |
| 97 | 95 |
| 98 private: | 96 private: |
| 99 friend struct base::DefaultLazyInstanceTraits<ChromeExtensionsBrowserClient>; | 97 friend struct base::DefaultLazyInstanceTraits<ChromeExtensionsBrowserClient>; |
| 100 | 98 |
| 101 // Observer for Chrome-specific notifications. | 99 // Observer for Chrome-specific notifications. |
| 102 ChromeNotificationObserver notification_observer_; | 100 ChromeNotificationObserver notification_observer_; |
| 103 | 101 |
| 104 #if defined(ENABLE_EXTENSIONS) | 102 #if defined(ENABLE_EXTENSIONS) |
| 103 // Support for ProcessManager. |
| 104 scoped_ptr<ChromeProcessManagerDelegate> process_manager_delegate_; |
| 105 |
| 105 // Client for API implementations. | 106 // Client for API implementations. |
| 106 scoped_ptr<ChromeExtensionsAPIClient> api_client_; | 107 scoped_ptr<ChromeExtensionsAPIClient> api_client_; |
| 107 #endif | 108 #endif |
| 108 | 109 |
| 109 scoped_ptr<ChromeComponentExtensionResourceManager> resource_manager_; | 110 scoped_ptr<ChromeComponentExtensionResourceManager> resource_manager_; |
| 110 | 111 |
| 111 DISALLOW_COPY_AND_ASSIGN(ChromeExtensionsBrowserClient); | 112 DISALLOW_COPY_AND_ASSIGN(ChromeExtensionsBrowserClient); |
| 112 }; | 113 }; |
| 113 | 114 |
| 114 } // namespace extensions | 115 } // namespace extensions |
| 115 | 116 |
| 116 #endif // CHROME_BROWSER_EXTENSIONS_CHROME_EXTENSIONS_BROWSER_CLIENT_H_ | 117 #endif // CHROME_BROWSER_EXTENSIONS_CHROME_EXTENSIONS_BROWSER_CLIENT_H_ |
| OLD | NEW |