Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(196)

Unified Diff: extensions/shell/browser/shell_browser_main_parts.h

Issue 717233003: Allow app_shell embedders to override extensions client interfaces (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: (extensions-client) renderer Created 6 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | extensions/shell/browser/shell_browser_main_parts.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: extensions/shell/browser/shell_browser_main_parts.h
diff --git a/extensions/shell/browser/shell_browser_main_parts.h b/extensions/shell/browser/shell_browser_main_parts.h
index 9bce5f04c7a2d665a6415e7758f5afde00df83df..29032b17361482b1492e3154574bcd25241c1d0a 100644
--- a/extensions/shell/browser/shell_browser_main_parts.h
+++ b/extensions/shell/browser/shell_browser_main_parts.h
@@ -14,6 +14,7 @@
#include "ui/aura/window_tree_host_observer.h"
namespace content {
+class BrowserContext;
class DevToolsHttpHandler;
struct MainFunctionParams;
}
@@ -30,11 +31,11 @@ namespace extensions {
class AppWindowClient;
class DesktopController;
+class ExtensionsBrowserClient;
+class ExtensionsClient;
class ShellBrowserContext;
class ShellBrowserMainDelegate;
class ShellDeviceClient;
-class ShellExtensionsBrowserClient;
-class ShellExtensionsClient;
class ShellExtensionSystem;
class ShellOAuth2TokenService;
class ShellOmahaQueryParamsDelegate;
@@ -65,6 +66,13 @@ class ShellBrowserMainParts : public content::BrowserMainParts {
void PostMainMessageLoopRun() override;
void PostDestroyThreads() override;
+ protected:
+ // app_shell embedders may need custom extensions client interfaces.
+ // This class takes ownership of the returned objects.
+ virtual ExtensionsClient* CreateExtensionsClient();
+ virtual ExtensionsBrowserClient* CreateExtensionsBrowserClient(
+ content::BrowserContext* context);
+
private:
// Creates and initializes the ExtensionSystem.
void CreateExtensionSystem();
@@ -77,8 +85,8 @@ class ShellBrowserMainParts : public content::BrowserMainParts {
scoped_ptr<ShellBrowserContext> browser_context_;
scoped_ptr<ShellDeviceClient> device_client_;
scoped_ptr<AppWindowClient> app_window_client_;
- scoped_ptr<ShellExtensionsClient> extensions_client_;
- scoped_ptr<ShellExtensionsBrowserClient> extensions_browser_client_;
+ scoped_ptr<ExtensionsClient> extensions_client_;
+ scoped_ptr<ExtensionsBrowserClient> extensions_browser_client_;
scoped_ptr<net::NetLog> net_log_;
scoped_ptr<content::DevToolsHttpHandler> devtools_http_handler_;
scoped_ptr<ShellOmahaQueryParamsDelegate> omaha_query_params_delegate_;
« no previous file with comments | « no previous file | extensions/shell/browser/shell_browser_main_parts.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698