Chromium Code Reviews

Unified Diff: chrome/browser/component_updater/component_updater_service.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.
Jump to:
View side-by-side diff with in-line comments
Index: chrome/browser/component_updater/component_updater_service.cc
diff --git a/chrome/browser/component_updater/component_updater_service.cc b/chrome/browser/component_updater/component_updater_service.cc
index 903674a15409ab26adcd249e7c6f06c886e10402..fa04986f6829511953201f2f4fcabcf416b4cc2b 100644
--- a/chrome/browser/component_updater/component_updater_service.cc
+++ b/chrome/browser/component_updater/component_updater_service.cc
@@ -21,6 +21,7 @@
#include "base/threading/sequenced_worker_pool.h"
#include "base/timer/timer.h"
#include "chrome/browser/browser_process.h"
+#include "chrome/browser/component_updater/component_patcher.h"
#include "chrome/browser/component_updater/component_unpacker.h"
#include "chrome/browser/component_updater/component_updater_ping_manager.h"
#include "chrome/browser/component_updater/component_updater_utils.h"
@@ -251,11 +252,13 @@
scoped_ptr<ComponentUpdateService::Configurator> config_;
+ scoped_ptr<ComponentPatcher> component_patcher_;
+
scoped_ptr<UpdateChecker> update_checker_;
scoped_ptr<PingManager> ping_manager_;
- scoped_refptr<ComponentUnpacker> unpacker_;
+ scoped_ptr<ComponentUnpacker> unpacker_;
scoped_ptr<CrxDownloader> crx_downloader_;
@@ -278,6 +281,7 @@
CrxUpdateService::CrxUpdateService(ComponentUpdateService::Configurator* config)
: config_(config),
+ component_patcher_(config->CreateComponentPatcher()),
ping_manager_(new PingManager(config->PingUrl(),
config->RequestContext())),
blocking_task_runner_(BrowserThread::GetBlockingPool()->
@@ -852,12 +856,12 @@
void CrxUpdateService::Install(scoped_ptr<CRXContext> context,
const base::FilePath& crx_path) {
// This function owns the file at |crx_path| and the |context| object.
- unpacker_ = new ComponentUnpacker(context->pk_hash,
- crx_path,
- context->fingerprint,
- context->installer,
- config_->InProcess(),
- blocking_task_runner_);
+ unpacker_.reset(new ComponentUnpacker(context->pk_hash,
+ crx_path,
+ context->fingerprint,
+ component_patcher_.get(),
+ context->installer,
+ blocking_task_runner_));
unpacker_->Unpack(base::Bind(&CrxUpdateService::EndUnpacking,
base::Unretained(this),
context->id,
@@ -876,8 +880,6 @@
base::Bind(&CrxUpdateService::DoneInstalling, base::Unretained(this),
component_id, error, extended_error),
base::TimeDelta::FromMilliseconds(config_->StepDelay()));
- // Reset the unpacker last, otherwise we free our own arguments.
- unpacker_ = NULL;
}
// Installation has been completed. Adjust the component status and
« no previous file with comments | « chrome/browser/component_updater/component_updater_service.h ('k') | chrome/browser/component_updater/test/DEPS » ('j') | no next file with comments »

Powered by Google App Engine