diff options
author | aa@chromium.org <aa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-07-30 06:21:58 +0000 |
---|---|---|
committer | aa@chromium.org <aa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-07-30 06:21:58 +0000 |
commit | 7577a5c5f3fbddaf9506e00904c21b2a4525e30b (patch) | |
tree | 6ec32f8e1b2d835889e143a5c59f222191730f62 /chrome/browser/extensions/sandboxed_extension_unpacker.cc | |
parent | 340e050c09a44bcd25a54f9003186b8a95ef565e (diff) | |
download | chromium_src-7577a5c5f3fbddaf9506e00904c21b2a4525e30b.zip chromium_src-7577a5c5f3fbddaf9506e00904c21b2a4525e30b.tar.gz chromium_src-7577a5c5f3fbddaf9506e00904c21b2a4525e30b.tar.bz2 |
Pull CrxInstaller out of ExtensionsService.
CrxInstaller is a new stateful object that encapsulates a
single installation from unpack through notification.
It currently contains the UI bits, but I suspect in the next
CL (where I will finally implement the install UI) these
will come out and CrxInstaller will become
SilentCrxInstaller, and only used for updates and external
installs.
Also in this change, I removed the concept of install callbacks that ExtensionUpdater was using. This was only used to delete the temp crx file as far as I can tell, and we can easily keep state about that in CrxInstaller.
With this CL, ExtensionsServiceBackend is almost completely
dead, with only a few zombie methods left like
LoadAllExtensions(). These should all become little objects
like CrxInstaller that hold a reference to ExtensionsService
over their lifetime and then kill themselves.
I'll get to that eventually.
Review URL: http://codereview.chromium.org/160311
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22043 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/extensions/sandboxed_extension_unpacker.cc')
-rw-r--r-- | chrome/browser/extensions/sandboxed_extension_unpacker.cc | 4 |
1 files changed, 0 insertions, 4 deletions
diff --git a/chrome/browser/extensions/sandboxed_extension_unpacker.cc b/chrome/browser/extensions/sandboxed_extension_unpacker.cc index 28b3b2b..8048ff2 100644 --- a/chrome/browser/extensions/sandboxed_extension_unpacker.cc +++ b/chrome/browser/extensions/sandboxed_extension_unpacker.cc @@ -30,8 +30,6 @@ SandboxedExtensionUnpacker::SandboxedExtensionUnpacker( SandboxedExtensionUnpackerClient* client) : crx_path_(crx_path), client_loop_(MessageLoop::current()), rdh_(rdh), client_(client), got_response_(false) { - - AddRef(); } void SandboxedExtensionUnpacker::Start() { @@ -269,12 +267,10 @@ bool SandboxedExtensionUnpacker::ValidateSignature() { void SandboxedExtensionUnpacker::ReportFailure(const std::string& error) { client_->OnUnpackFailure(error); - Release(); } void SandboxedExtensionUnpacker::ReportSuccess() { // Client takes ownership of temporary directory and extension. client_->OnUnpackSuccess(temp_dir_.Take(), extension_root_, extension_.release()); - Release(); } |