summaryrefslogtreecommitdiffstats
path: root/chrome/browser/extensions
diff options
context:
space:
mode:
authoraa@chromium.org <aa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-08-31 10:31:06 +0000
committeraa@chromium.org <aa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-08-31 10:31:06 +0000
commit97c4e8980c65df6fa56f87c09a820ec7626d2e02 (patch)
treea370d79cd5a6b187480d6ba1c049105ffc228796 /chrome/browser/extensions
parent4eef339d670cfc2c884719347558647aab609f76 (diff)
downloadchromium_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.cc4
-rw-r--r--chrome/browser/extensions/extensions_ui.cc8
-rw-r--r--chrome/browser/extensions/extensions_ui.h9
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);