summaryrefslogtreecommitdiffstats
path: root/chrome/browser/extensions/extensions_startup.h
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/extensions/extensions_startup.h')
-rw-r--r--chrome/browser/extensions/extensions_startup.h39
1 files changed, 29 insertions, 10 deletions
diff --git a/chrome/browser/extensions/extensions_startup.h b/chrome/browser/extensions/extensions_startup.h
index 85622de..2dee7d3 100644
--- a/chrome/browser/extensions/extensions_startup.h
+++ b/chrome/browser/extensions/extensions_startup.h
@@ -6,19 +6,38 @@
#define CHROME_BROWSER_EXTENSIONS_EXTENSIONS_STARTUP_H_
#pragma once
+#include "base/scoped_ptr.h"
+#include "chrome/browser/extensions/pack_extension_job.h"
+
class CommandLine;
class Profile;
// Initialization helpers for various Extension startup actions.
-namespace extensions_startup {
-// Handle --pack-extension flag from the |cmd_line| by packing the specified
-// extension. Returns false if the pack job could not be started.
-bool HandlePackExtension(const CommandLine& cmd_line);
-
-// Handle --uninstall-extension flag from the |cmd_line| by uninstalling the
-// specified extension from |profile|. Returns false if the uninstall job
-// could not be started.
-bool HandleUninstallExtension(const CommandLine& cmd_line, Profile* profile);
-} // namespace extensions_startup
+class ExtensionsStartupUtil : public PackExtensionJob::Client {
+ public:
+ ExtensionsStartupUtil();
+ virtual ~ExtensionsStartupUtil();
+
+ virtual void OnPackSuccess(const FilePath& crx_path,
+ const FilePath& output_private_key_path);
+ virtual void OnPackFailure(const std::string& error_message);
+
+ // Handle --pack-extension flag from the |cmd_line| by packing the specified
+ // extension. Returns false if the pack job failed.
+ bool PackExtension(const CommandLine& cmd_line);
+
+ // Handle --uninstall-extension flag from the |cmd_line| by uninstalling the
+ // specified extension from |profile|. Returns false if the uninstall job
+ // could not be started.
+ bool UninstallExtension(const CommandLine& cmd_line, Profile* profile);
+
+ private:
+ void ShowPackExtensionMessage(const std::wstring& caption,
+ const std::wstring& message);
+ scoped_refptr<PackExtensionJob> pack_job_;
+ bool pack_job_succeeded_;
+
+ DISALLOW_COPY_AND_ASSIGN(ExtensionsStartupUtil);
+};
#endif // CHROME_BROWSER_EXTENSIONS_EXTENSIONS_STARTUP_H_