Index: chrome/browser/extensions/extension_management_api.h |
diff --git a/chrome/browser/extensions/extension_management_api.h b/chrome/browser/extensions/extension_management_api.h |
index d73b4079bcdace68a3f70022ee266a2a7cf35ca5..b7e6b8011c87fd051ac4d1b9131069da8ad20f18 100644 |
--- a/chrome/browser/extensions/extension_management_api.h |
+++ b/chrome/browser/extensions/extension_management_api.h |
@@ -8,6 +8,7 @@ |
#include "base/compiler_specific.h" |
#include "chrome/browser/extensions/extension_function.h" |
+#include "chrome/browser/extensions/extension_install_ui.h" |
#include "content/public/browser/notification_observer.h" |
#include "content/public/browser/notification_registrar.h" |
@@ -18,6 +19,11 @@ class ExtensionManagementFunction : public SyncExtensionFunction { |
ExtensionService* service(); |
}; |
+class AsyncExtensionManagementFunction : public AsyncExtensionFunction { |
+ protected: |
+ ExtensionService* service(); |
+}; |
+ |
class GetAllExtensionsFunction : public ExtensionManagementFunction { |
virtual ~GetAllExtensionsFunction() {} |
virtual bool RunImpl() OVERRIDE; |
@@ -54,9 +60,24 @@ class LaunchAppFunction : public ExtensionManagementFunction { |
DECLARE_EXTENSION_FUNCTION_NAME("management.launchApp"); |
}; |
-class SetEnabledFunction : public ExtensionManagementFunction { |
- virtual ~SetEnabledFunction() {} |
+class SetEnabledFunction : public AsyncExtensionManagementFunction, |
+ public ExtensionInstallUI::Delegate { |
+ public: |
+ SetEnabledFunction(); |
+ virtual ~SetEnabledFunction(); |
virtual bool RunImpl() OVERRIDE; |
+ |
+ protected: |
+ // ExtensionInstalUI::Delegate. |
+ virtual void InstallUIProceed() OVERRIDE; |
+ virtual void InstallUIAbort(bool user_initiated) OVERRIDE; |
+ |
+ private: |
+ std::string extension_id_; |
+ |
+ // Used for prompting to re-enable items with permissions escalation updates. |
+ scoped_ptr<ExtensionInstallUI> install_ui_; |
+ |
DECLARE_EXTENSION_FUNCTION_NAME("management.setEnabled"); |
}; |