Index: extensions/browser/extensions_browser_client.h |
diff --git a/extensions/browser/extensions_browser_client.h b/extensions/browser/extensions_browser_client.h |
index c93b629995a3519022aef34292b88b4592aa69d3..306515fd9b37a347909574e52b64fe7c325a3fd6 100644 |
--- a/extensions/browser/extensions_browser_client.h |
+++ b/extensions/browser/extensions_browser_client.h |
@@ -5,8 +5,11 @@ |
#ifndef EXTENSIONS_BROWSER_EXTENSIONS_BROWSER_CLIENT_H_ |
#define EXTENSIONS_BROWSER_EXTENSIONS_BROWSER_CLIENT_H_ |
+#include <vector> |
+ |
#include "base/memory/scoped_ptr.h" |
+class BrowserContextKeyedServiceFactory; |
class CommandLine; |
class PrefService; |
@@ -18,6 +21,7 @@ class JavaScriptDialogManager; |
namespace extensions { |
class AppSorting; |
+class ExtensionSystem; |
// Interface to allow the extensions module to make browser-process-specific |
// queries of the embedder. Should be Set() once in the browser process. |
@@ -87,6 +91,14 @@ class ExtensionsBrowserClient { |
// does not support JavaScript dialogs. |
virtual content::JavaScriptDialogManager* GetJavaScriptDialogManager() = 0; |
+ // Returns the dependencies of ExtensionSystem. May return an empty list. |
+ virtual std::vector<BrowserContextKeyedServiceFactory*> |
+ GetExtensionSystemDependencies() = 0; |
+ |
+ // Creates a new ExtensionSystem for |context|. |
+ virtual ExtensionSystem* CreateExtensionSystem( |
+ content::BrowserContext* context) = 0; |
+ |
// Returns the single instance of |this|. |
static ExtensionsBrowserClient* Get(); |