Index: chrome/browser/extensions/api/webstore_private/webstore_private_api.h |
diff --git a/chrome/browser/extensions/api/webstore_private/webstore_private_api.h b/chrome/browser/extensions/api/webstore_private/webstore_private_api.h |
index b6afde938d1396bfe211ef049f8aee83e5a87205..37897e812550c8202cc4b2a02d30042e87ed06e9 100644 |
--- a/chrome/browser/extensions/api/webstore_private/webstore_private_api.h |
+++ b/chrome/browser/extensions/api/webstore_private/webstore_private_api.h |
@@ -8,6 +8,7 @@ |
#include <string> |
#include "chrome/browser/extensions/active_install_data.h" |
+#include "chrome/browser/extensions/bundle_installer.h" |
#include "chrome/browser/extensions/chrome_extension_function_details.h" |
#include "chrome/browser/extensions/extension_install_prompt.h" |
#include "chrome/browser/extensions/webstore_install_helper.h" |
@@ -182,6 +183,40 @@ class WebstorePrivateShowPermissionPromptForDelegatedInstallFunction |
api::webstore_private::Result result) const override; |
}; |
+class WebstorePrivateInstallBundleFunction |
+ : public UIThreadExtensionFunction, |
+ public WebstoreInstallHelper::Delegate { |
+ public: |
+ DECLARE_EXTENSION_FUNCTION("webstorePrivate.installBundle", |
+ WEBSTOREPRIVATE_INSTALLBUNDLE) |
+ |
+ WebstorePrivateInstallBundleFunction(); |
+ |
+ private: |
+ ~WebstorePrivateInstallBundleFunction() override; |
+ |
+ // ExtensionFunction: |
+ ExtensionFunction::ResponseAction Run() override; |
+ |
+ // WebstoreInstallHelper::Delegate: |
+ void OnWebstoreParseSuccess(const std::string& id, |
+ const SkBitmap& icon, |
+ base::DictionaryValue* parsed_manifest) override; |
+ void OnWebstoreParseFailure(const std::string& id, |
+ InstallHelperResultCode result_code, |
+ const std::string& error_message) override; |
+ |
+ void OnInstallApproval(BundleInstaller::ApprovalState state); |
+ void OnInstallComplete(); |
+ |
+ ChromeExtensionFunctionDetails chrome_details_; |
+ |
+ // This stores the input parameters to the function. |
+ scoped_ptr<api::webstore_private::InstallBundle::Params> params_; |
+ |
+ scoped_ptr<extensions::BundleInstaller> bundle_; |
+}; |
+ |
class WebstorePrivateEnableAppLauncherFunction |
: public UIThreadExtensionFunction { |
public: |