summaryrefslogtreecommitdiffstats
path: root/chrome/browser/browser_init.cc
diff options
context:
space:
mode:
authorrafaelw@chromium.org <rafaelw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-10-08 01:18:02 +0000
committerrafaelw@chromium.org <rafaelw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-10-08 01:18:02 +0000
commit13555c122fbc9ec2a6c1a4cbace288ec7892be6e (patch)
treeb78bb0337bf633e7ecff2adc004c4a93542bdba9 /chrome/browser/browser_init.cc
parent2c8311e9badbe99ba50d6429a2c13bb8be89ff80 (diff)
downloadchromium_src-13555c122fbc9ec2a6c1a4cbace288ec7892be6e.zip
chromium_src-13555c122fbc9ec2a6c1a4cbace288ec7892be6e.tar.gz
chromium_src-13555c122fbc9ec2a6c1a4cbace288ec7892be6e.tar.bz2
Reland: HTML Pack Extension Dialog / Linux & Mac Packaging Support.
original issue: http://codereview.chromium.org/207062 The issue had to do with a symbol collison with the nss libraries (which are currently out-of-date) on the build bots. HTML Pack Extension Dialog. This removes the views implementation of the ExtensionPackDialog, and implements the dialog in html in the extensions_ui DOMUI. Additionally, support is added for packaging extensions via ---pack-extension on linux and mac BUG=20668, 20669 TBR=aa,wtc Review URL: http://codereview.chromium.org/265032 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28365 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/browser_init.cc')
-rw-r--r--chrome/browser/browser_init.cc27
1 files changed, 17 insertions, 10 deletions
diff --git a/chrome/browser/browser_init.cc b/chrome/browser/browser_init.cc
index b551bcf..ce0c7f4 100644
--- a/chrome/browser/browser_init.cc
+++ b/chrome/browser/browser_init.cc
@@ -28,9 +28,7 @@
#include "chrome/browser/browser_process.h"
#include "chrome/browser/browser_window.h"
#include "chrome/browser/defaults.h"
-#if defined(OS_WIN) // TODO(port)
#include "chrome/browser/extensions/extension_creator.h"
-#endif
#include "chrome/browser/extensions/extensions_service.h"
#include "chrome/browser/extensions/user_script_master.h"
#include "chrome/browser/first_run.h"
@@ -367,6 +365,20 @@ GURL GetWelcomePageURL() {
return GURL(welcome_url);
}
+void ShowPackExtensionMessage(const std::wstring caption,
+ const std::wstring message) {
+#if defined(OS_WIN)
+ win_util::MessageBox(NULL, message, caption, MB_OK | MB_SETFOREGROUND);
+#else
+ // Just send caption & text to stdout on mac & linux.
+ std::string out_text = WideToASCII(caption);
+ out_text.append("\n\n");
+ out_text.append(WideToASCII(message));
+ out_text.append("\n");
+ printf(out_text.c_str());
+#endif
+}
+
} // namespace
// static
@@ -751,7 +763,6 @@ bool BrowserInit::ProcessCmdLineImpl(const CommandLine& command_line,
// ExtensionCreator depends on base/crypto/rsa_private_key and
// base/crypto/signature_creator, both of which only have windows
// implementations.
-#if defined(OS_WIN)
scoped_ptr<ExtensionCreator> creator(new ExtensionCreator());
if (creator->Run(src_dir, crx_path, private_key_path,
output_private_key_path)) {
@@ -769,16 +780,12 @@ bool BrowserInit::ProcessCmdLineImpl(const CommandLine& command_line,
message = StringPrintf(L"Created the extension:\n\n%ls",
crx_path.ToWStringHack().c_str());
}
- win_util::MessageBox(NULL, message, L"Extension Packaging Success",
- MB_OK | MB_SETFOREGROUND);
+ ShowPackExtensionMessage(L"Extension Packaging Success", message);
} else {
- win_util::MessageBox(NULL, UTF8ToWide(creator->error_message()),
- L"Extension Packaging Error", MB_OK | MB_SETFOREGROUND);
+ ShowPackExtensionMessage(L"Extension Packaging Error",
+ UTF8ToWide(creator->error_message()));
return false;
}
-#else
- NOTIMPLEMENTED() << " extension creation not implemented on POSIX.";
-#endif // defined(OS_WIN)
return false;
}
}