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

Side by Side Diff: chrome/browser/extensions/crx_installer.cc

Issue 18119009: Make utility process run in-process when running in single-process mode. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: undo unnecessary changes Created 7 years, 5 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/extensions/crx_installer.h" 5 #include "chrome/browser/extensions/crx_installer.h"
6 6
7 #include <map> 7 #include <map>
8 #include <set> 8 #include <set>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after
135 135
136 CrxInstaller::~CrxInstaller() { 136 CrxInstaller::~CrxInstaller() {
137 // Make sure the UI is deleted on the ui thread. 137 // Make sure the UI is deleted on the ui thread.
138 if (client_) { 138 if (client_) {
139 BrowserThread::DeleteSoon(BrowserThread::UI, FROM_HERE, client_); 139 BrowserThread::DeleteSoon(BrowserThread::UI, FROM_HERE, client_);
140 client_ = NULL; 140 client_ = NULL;
141 } 141 }
142 } 142 }
143 143
144 void CrxInstaller::InstallCrx(const base::FilePath& source_file) { 144 void CrxInstaller::InstallCrx(const base::FilePath& source_file) {
145 ExtensionService* service = service_weak_.get();
146 if (!service || service->browser_terminating())
147 return;
148
145 source_file_ = source_file; 149 source_file_ = source_file;
146 150
147 scoped_refptr<SandboxedUnpacker> unpacker( 151 scoped_refptr<SandboxedUnpacker> unpacker(
148 new SandboxedUnpacker(source_file, 152 new SandboxedUnpacker(source_file,
149 content::ResourceDispatcherHost::Get() != NULL,
150 install_source_, 153 install_source_,
151 creation_flags_, 154 creation_flags_,
152 install_directory_, 155 install_directory_,
153 installer_task_runner_.get(), 156 installer_task_runner_.get(),
154 this)); 157 this));
155 158
156 if (!installer_task_runner_->PostTask( 159 if (!installer_task_runner_->PostTask(
157 FROM_HERE, 160 FROM_HERE,
158 base::Bind(&SandboxedUnpacker::Start, unpacker.get()))) 161 base::Bind(&SandboxedUnpacker::Start, unpacker.get())))
159 NOTREACHED(); 162 NOTREACHED();
(...skipping 626 matching lines...) Expand 10 before | Expand all | Expand 10 after
786 if (!prefs->DidExtensionEscalatePermissions(extension()->id())) 789 if (!prefs->DidExtensionEscalatePermissions(extension()->id()))
787 return; 790 return;
788 791
789 if (client_) { 792 if (client_) {
790 AddRef(); // Balanced in InstallUIProceed() and InstallUIAbort(). 793 AddRef(); // Balanced in InstallUIProceed() and InstallUIAbort().
791 client_->ConfirmReEnable(this, extension()); 794 client_->ConfirmReEnable(this, extension());
792 } 795 }
793 } 796 }
794 797
795 } // namespace extensions 798 } // namespace extensions
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/kiosk_mode/kiosk_mode_screensaver.cc ('k') | chrome/browser/extensions/extension_service_unittest.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698