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

Unified Diff: chrome/browser/extensions/api/management/management_api.h

Issue 11682005: Remove some Profile-keyed factory boilerplate: management omnibox preference push_messaging. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 7 years, 11 months 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
Index: chrome/browser/extensions/api/management/management_api.h
diff --git a/chrome/browser/extensions/api/management/management_api.h b/chrome/browser/extensions/api/management/management_api.h
index d81051024955bc91d3189a9ef4da3a87da564e9e..1bb39ee865ec387880da493e315722972673a62c 100644
--- a/chrome/browser/extensions/api/management/management_api.h
+++ b/chrome/browser/extensions/api/management/management_api.h
@@ -6,6 +6,7 @@
#define CHROME_BROWSER_EXTENSIONS_API_MANAGEMENT_MANAGEMENT_API_H_
#include "base/compiler_specific.h"
+#include "chrome/browser/extensions/api/profile_keyed_api_factory.h"
#include "chrome/browser/extensions/event_router.h"
#include "chrome/browser/extensions/extension_function.h"
#include "chrome/browser/extensions/extension_install_prompt.h"
@@ -17,21 +18,23 @@
class ExtensionService;
class ExtensionUninstallDialog;
-class ExtensionManagementFunction : public SyncExtensionFunction {
+namespace extensions {
+
+class ManagementFunction : public SyncExtensionFunction {
protected:
- virtual ~ExtensionManagementFunction() {}
+ virtual ~ManagementFunction() {}
ExtensionService* service();
};
-class AsyncExtensionManagementFunction : public AsyncExtensionFunction {
+class AsyncManagementFunction : public AsyncExtensionFunction {
protected:
- virtual ~AsyncExtensionManagementFunction() {}
+ virtual ~AsyncManagementFunction() {}
ExtensionService* service();
};
-class GetAllExtensionsFunction : public ExtensionManagementFunction {
+class GetAllExtensionsFunction : public ManagementFunction {
public:
DECLARE_EXTENSION_FUNCTION_NAME("management.getAll");
@@ -42,7 +45,7 @@ class GetAllExtensionsFunction : public ExtensionManagementFunction {
virtual bool RunImpl() OVERRIDE;
};
-class GetExtensionByIdFunction : public ExtensionManagementFunction {
+class GetExtensionByIdFunction : public ManagementFunction {
public:
DECLARE_EXTENSION_FUNCTION_NAME("management.get");
@@ -53,7 +56,7 @@ class GetExtensionByIdFunction : public ExtensionManagementFunction {
virtual bool RunImpl() OVERRIDE;
};
-class GetPermissionWarningsByIdFunction : public ExtensionManagementFunction {
+class GetPermissionWarningsByIdFunction : public ManagementFunction {
public:
DECLARE_EXTENSION_FUNCTION_NAME("management.getPermissionWarningsById");
@@ -80,7 +83,7 @@ class GetPermissionWarningsByManifestFunction : public AsyncExtensionFunction {
virtual bool RunImpl() OVERRIDE;
};
-class LaunchAppFunction : public ExtensionManagementFunction {
+class LaunchAppFunction : public ManagementFunction {
public:
DECLARE_EXTENSION_FUNCTION_NAME("management.launchApp");
@@ -91,7 +94,7 @@ class LaunchAppFunction : public ExtensionManagementFunction {
virtual bool RunImpl() OVERRIDE;
};
-class SetEnabledFunction : public AsyncExtensionManagementFunction,
+class SetEnabledFunction : public AsyncManagementFunction,
public ExtensionInstallPrompt::Delegate {
public:
DECLARE_EXTENSION_FUNCTION_NAME("management.setEnabled");
@@ -115,7 +118,7 @@ class SetEnabledFunction : public AsyncExtensionManagementFunction,
scoped_ptr<ExtensionInstallPrompt> install_prompt_;
};
-class UninstallFunction : public AsyncExtensionManagementFunction,
+class UninstallFunction : public AsyncManagementFunction,
public ExtensionUninstallDialog::Delegate {
public:
DECLARE_EXTENSION_FUNCTION_NAME("management.uninstall");
@@ -141,10 +144,10 @@ class UninstallFunction : public AsyncExtensionManagementFunction,
scoped_ptr<ExtensionUninstallDialog> extension_uninstall_dialog_;
};
-class ExtensionManagementEventRouter : public content::NotificationObserver {
+class ManagementEventRouter : public content::NotificationObserver {
public:
- explicit ExtensionManagementEventRouter(Profile* profile);
- virtual ~ExtensionManagementEventRouter();
+ explicit ManagementEventRouter(Profile* profile);
+ virtual ~ManagementEventRouter();
private:
// content::NotificationObserver implementation.
@@ -156,27 +159,42 @@ class ExtensionManagementEventRouter : public content::NotificationObserver {
Profile* profile_;
- DISALLOW_COPY_AND_ASSIGN(ExtensionManagementEventRouter);
+ DISALLOW_COPY_AND_ASSIGN(ManagementEventRouter);
};
-class ExtensionManagementAPI : public ProfileKeyedService,
- public extensions::EventRouter::Observer {
+class ManagementAPI : public ProfileKeyedAPI,
+ public extensions::EventRouter::Observer {
public:
- explicit ExtensionManagementAPI(Profile* profile);
- virtual ~ExtensionManagementAPI();
+ explicit ManagementAPI(Profile* profile);
+ virtual ~ManagementAPI();
// ProfileKeyedService implementation.
virtual void Shutdown() OVERRIDE;
+ // ProfileKeyedAPI implementation.
+ static ProfileKeyedAPIFactory<ManagementAPI>* GetFactoryInstance();
+
// EventRouter::Observer implementation.
virtual void OnListenerAdded(const extensions::EventListenerInfo& details)
OVERRIDE;
private:
+ friend class ProfileKeyedAPIFactory<ManagementAPI>;
+
Profile* profile_;
+ // ProfileKeyedAPI implementation.
+ static const char* service_name() {
+ return "ManagementAPI";
+ }
+ static const bool kServiceIsNULLWhileTesting = true;
+
// Created lazily upon OnListenerAdded.
- scoped_ptr<ExtensionManagementEventRouter> management_event_router_;
+ scoped_ptr<ManagementEventRouter> management_event_router_;
+
+ DISALLOW_COPY_AND_ASSIGN(ManagementAPI);
};
+} // namespace extensions
+
#endif // CHROME_BROWSER_EXTENSIONS_API_MANAGEMENT_MANAGEMENT_API_H_

Powered by Google App Engine
This is Rietveld 408576698