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

Unified Diff: chrome/browser/component_updater/component_unpacker.cc

Issue 213923002: Revert of Use UtilityProcessHost to patch files. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@nonblocking
Patch Set: Created 6 years, 9 months 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/component_updater/component_unpacker.cc
diff --git a/chrome/browser/component_updater/component_unpacker.cc b/chrome/browser/component_updater/component_unpacker.cc
index f179262ea2987f4ef3dca707ab59b7a5be1eff93..4134b3e1beae9e9bb6cb9c4919ca74d4acba21c3 100644
--- a/chrome/browser/component_updater/component_unpacker.cc
+++ b/chrome/browser/component_updater/component_unpacker.cc
@@ -98,17 +98,18 @@
const std::vector<uint8>& pk_hash,
const base::FilePath& path,
const std::string& fingerprint,
+ ComponentPatcher* patcher,
ComponentInstaller* installer,
- bool in_process,
scoped_refptr<base::SequencedTaskRunner> task_runner)
: pk_hash_(pk_hash),
path_(path),
is_delta_(false),
fingerprint_(fingerprint),
+ patcher_(patcher),
installer_(installer),
- in_process_(in_process),
error_(kNone),
extended_error_(0),
+ ptr_factory_(this),
task_runner_(task_runner) {
}
@@ -136,7 +137,8 @@
return Verify() && Unzip() && BeginPatching();
}
-void ComponentUnpacker::Unpack(const Callback& callback) {
+void ComponentUnpacker::Unpack(
+ const base::Callback<void(Error, int)>& callback) {
callback_ = callback;
if (!UnpackInternal())
Finish();
@@ -200,23 +202,20 @@
error_ = kUnzipPathError;
return false;
}
- patcher_ = new ComponentPatcher(unpack_diff_path_,
- unpack_path_,
- installer_,
- in_process_,
- task_runner_);
task_runner_->PostTask(
- FROM_HERE,
- base::Bind(&ComponentPatcher::Start,
- patcher_,
- base::Bind(&ComponentUnpacker::EndPatching,
- scoped_refptr<ComponentUnpacker>(this))));
+ FROM_HERE, base::Bind(&DifferentialUpdatePatch,
+ unpack_diff_path_,
+ unpack_path_,
+ patcher_,
+ installer_,
+ base::Bind(&ComponentUnpacker::EndPatching,
+ GetWeakPtr())));
} else {
- task_runner_->PostTask(FROM_HERE,
- base::Bind(&ComponentUnpacker::EndPatching,
- scoped_refptr<ComponentUnpacker>(this),
- kNone,
- 0));
+ task_runner_->PostTask(
+ FROM_HERE, base::Bind(&ComponentUnpacker::EndPatching,
+ GetWeakPtr(),
+ kNone,
+ 0));
}
return true;
}
@@ -224,7 +223,6 @@
void ComponentUnpacker::EndPatching(Error error, int extended_error) {
error_ = error;
extended_error_ = extended_error;
- patcher_ = NULL;
if (error_ != kNone) {
Finish();
return;
@@ -269,6 +267,10 @@
callback_.Run(error_, extended_error_);
}
+base::WeakPtr<ComponentUnpacker> ComponentUnpacker::GetWeakPtr() {
+ return ptr_factory_.GetWeakPtr();
+}
+
ComponentUnpacker::~ComponentUnpacker() {
}

Powered by Google App Engine
This is Rietveld 408576698