diff options
Diffstat (limited to 'chrome/browser/extensions/extensions_startup.h')
-rw-r--r-- | chrome/browser/extensions/extensions_startup.h | 39 |
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_ |