Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1708)

Unified Diff: chrome/browser/extensions/pack_extension_job.cc

Issue 5703004: Fix extension packer command-line code for Mac (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Addressed mento's comments and fixed win compile error. Created 10 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/extensions/pack_extension_job.cc
diff --git a/chrome/browser/extensions/pack_extension_job.cc b/chrome/browser/extensions/pack_extension_job.cc
index 5f640253f80fa49ac92ba3e2d130ce5b6ab713b3..327d7c4da5310f69b4b46404f42c7bcb607b0fa1 100644
--- a/chrome/browser/extensions/pack_extension_job.cc
+++ b/chrome/browser/extensions/pack_extension_job.cc
@@ -15,15 +15,19 @@
PackExtensionJob::PackExtensionJob(Client* client,
const FilePath& root_directory,
const FilePath& key_file)
- : client_(client), key_file_(key_file) {
+ : client_(client), key_file_(key_file), asynchronous_(true) {
root_directory_ = root_directory.StripTrailingSeparators();
CHECK(BrowserThread::GetCurrentThreadIdentifier(&client_thread_id_));
}
void PackExtensionJob::Start() {
- BrowserThread::PostTask(
- BrowserThread::FILE, FROM_HERE,
- NewRunnableMethod(this, &PackExtensionJob::RunOnFileThread));
+ if (asynchronous_) {
+ BrowserThread::PostTask(
+ BrowserThread::FILE, FROM_HERE,
+ NewRunnableMethod(this, &PackExtensionJob::Run));
+ } else {
+ Run();
+ }
}
void PackExtensionJob::ClearClient() {
@@ -32,7 +36,7 @@ void PackExtensionJob::ClearClient() {
PackExtensionJob::~PackExtensionJob() {}
-void PackExtensionJob::RunOnFileThread() {
+void PackExtensionJob::Run() {
crx_file_out_ = FilePath(root_directory_.value() +
chrome::kExtensionFileExtension);
@@ -44,16 +48,24 @@ void PackExtensionJob::RunOnFileThread() {
// returns. See bug 20734.
ExtensionCreator creator;
if (creator.Run(root_directory_, crx_file_out_, key_file_, key_file_out_)) {
- BrowserThread::PostTask(
- client_thread_id_, FROM_HERE,
- NewRunnableMethod(this,
- &PackExtensionJob::ReportSuccessOnClientThread));
+ if (asynchronous_) {
+ BrowserThread::PostTask(
+ client_thread_id_, FROM_HERE,
+ NewRunnableMethod(this,
+ &PackExtensionJob::ReportSuccessOnClientThread));
+ } else {
+ ReportSuccessOnClientThread();
+ }
} else {
- BrowserThread::PostTask(
- client_thread_id_, FROM_HERE,
- NewRunnableMethod(
- this, &PackExtensionJob::ReportFailureOnClientThread,
- creator.error_message()));
+ if (asynchronous_) {
+ BrowserThread::PostTask(
+ client_thread_id_, FROM_HERE,
+ NewRunnableMethod(
+ this, &PackExtensionJob::ReportFailureOnClientThread,
+ creator.error_message()));
+ } else {
+ ReportFailureOnClientThread(creator.error_message());
+ }
}
}

Powered by Google App Engine
This is Rietveld 408576698