diff options
author | aa@chromium.org <aa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-08-31 10:31:06 +0000 |
---|---|---|
committer | aa@chromium.org <aa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-08-31 10:31:06 +0000 |
commit | 97c4e8980c65df6fa56f87c09a820ec7626d2e02 (patch) | |
tree | a370d79cd5a6b187480d6ba1c049105ffc228796 /chrome/browser/extensions | |
parent | 4eef339d670cfc2c884719347558647aab609f76 (diff) | |
download | chromium_src-97c4e8980c65df6fa56f87c09a820ec7626d2e02.zip chromium_src-97c4e8980c65df6fa56f87c09a820ec7626d2e02.tar.gz chromium_src-97c4e8980c65df6fa56f87c09a820ec7626d2e02.tar.bz2 |
Adds a button to chrome://extensions/ that allows easy packing
of extensions into crx files.
BUG=20578
TEST=Create a sample extension, pack it, then try to install it.
Review URL: http://codereview.chromium.org/181020
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@24877 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/extensions')
-rw-r--r-- | chrome/browser/extensions/extension_creator.cc | 4 | ||||
-rw-r--r-- | chrome/browser/extensions/extensions_ui.cc | 8 | ||||
-rw-r--r-- | chrome/browser/extensions/extensions_ui.h | 9 |
3 files changed, 19 insertions, 2 deletions
diff --git a/chrome/browser/extensions/extension_creator.cc b/chrome/browser/extensions/extension_creator.cc index 7b7c389..00ea023 100644 --- a/chrome/browser/extensions/extension_creator.cc +++ b/chrome/browser/extensions/extension_creator.cc @@ -44,8 +44,8 @@ bool ExtensionCreator::InitializeInput( if (private_key_path.value().empty() && !private_key_output_path.value().empty() && file_util::PathExists(private_key_output_path)) { - error_message_ = "Private key exists next to input directory. Try using " - "--pack-extension-key"; + error_message_ = "A private key for specified extension already exists. " + "Reuse that key or delete it first."; return false; } diff --git a/chrome/browser/extensions/extensions_ui.cc b/chrome/browser/extensions/extensions_ui.cc index d1e8781..e91610e 100644 --- a/chrome/browser/extensions/extensions_ui.cc +++ b/chrome/browser/extensions/extensions_ui.cc @@ -85,6 +85,8 @@ void ExtensionsDOMHandler::RegisterMessages() { NewCallback(this, &ExtensionsDOMHandler::HandleUninstallMessage)); dom_ui_->RegisterMessageCallback("load", NewCallback(this, &ExtensionsDOMHandler::HandleLoadMessage)); + dom_ui_->RegisterMessageCallback("pack", + NewCallback(this, &ExtensionsDOMHandler::HandlePackMessage)); } void ExtensionsDOMHandler::HandleRequestExtensionsData(const Value* value) { @@ -183,6 +185,12 @@ void ExtensionsDOMHandler::HandleLoadMessage(const Value* value) { NULL, NULL); } +void ExtensionsDOMHandler::HandlePackMessage(const Value* value) { +#if defined(OS_WIN) + ShowPackDialog(); +#endif +} + void ExtensionsDOMHandler::FileSelected(const FilePath& path, int index, void* params) { extensions_service_->LoadExtension(path); diff --git a/chrome/browser/extensions/extensions_ui.h b/chrome/browser/extensions/extensions_ui.h index ad99ac5..c170dcb 100644 --- a/chrome/browser/extensions/extensions_ui.h +++ b/chrome/browser/extensions/extensions_ui.h @@ -72,6 +72,12 @@ class ExtensionsDOMHandler const FilePath& extension_path); private: +#if defined(OS_WIN) + // The implementation of this method is platform-specific and defined + // elsewhere. + static void ShowPackDialog(); +#endif + // Callback for "requestExtensionsData" message. void HandleRequestExtensionsData(const Value* value); @@ -90,6 +96,9 @@ class ExtensionsDOMHandler // Callback for "load" message. void HandleLoadMessage(const Value* value); + // Callback for "pack" message. + void HandlePackMessage(const Value* value); + // SelectFileDialog::Listener virtual void FileSelected(const FilePath& path, int index, void* params); |