Index: chrome/browser/extensions/sandboxed_unpacker.cc |
=================================================================== |
--- chrome/browser/extensions/sandboxed_unpacker.cc (revision 210446) |
+++ chrome/browser/extensions/sandboxed_unpacker.cc (working copy) |
@@ -178,14 +178,12 @@ |
SandboxedUnpacker::SandboxedUnpacker( |
const base::FilePath& crx_path, |
- bool run_out_of_process, |
Manifest::Location location, |
int creation_flags, |
const base::FilePath& extensions_dir, |
base::SequencedTaskRunner* unpacker_io_task_runner, |
SandboxedUnpackerClient* client) |
: crx_path_(crx_path), |
- run_out_of_process_(run_out_of_process), |
client_(client), |
extensions_dir_(extensions_dir), |
got_response_(false), |
@@ -256,46 +254,29 @@ |
return; |
} |
- // If we are supposed to use a subprocess, kick off the subprocess. |
- // |
- // TODO(asargent) we shouldn't need to do this branch here - instead |
- // UtilityProcessHost should handle it for us. (http://crbug.com/19192) |
- bool use_utility_process = run_out_of_process_ && |
- !CommandLine::ForCurrentProcess()->HasSwitch(switches::kSingleProcess); |
- if (use_utility_process) { |
- // The utility process will have access to the directory passed to |
- // SandboxedUnpacker. That directory should not contain a symlink or NTFS |
- // reparse point. When the path is used, following the link/reparse point |
- // will cause file system access outside the sandbox path, and the sandbox |
- // will deny the operation. |
- base::FilePath link_free_crx_path; |
- if (!file_util::NormalizeFilePath(temp_crx_path, &link_free_crx_path)) { |
- LOG(ERROR) << "Could not get the normalized path of " |
- << temp_crx_path.value(); |
- ReportFailure( |
- COULD_NOT_GET_SANDBOX_FRIENDLY_PATH, |
- l10n_util::GetStringUTF16(IDS_EXTENSION_UNPACK_FAILED)); |
- return; |
- } |
- PATH_LENGTH_HISTOGRAM("Extensions.SandboxUnpackLinkFreeCrxPathLength", |
- link_free_crx_path); |
- |
- BrowserThread::PostTask( |
- BrowserThread::IO, FROM_HERE, |
- base::Bind( |
- &SandboxedUnpacker::StartProcessOnIOThread, |
- this, |
- link_free_crx_path)); |
- } else { |
- // Otherwise, unpack the extension in this process. |
- Unpacker unpacker(temp_crx_path, extension_id_, location_, creation_flags_); |
- if (unpacker.Run() && unpacker.DumpImagesToFile() && |
- unpacker.DumpMessageCatalogsToFile()) { |
- OnUnpackExtensionSucceeded(*unpacker.parsed_manifest()); |
- } else { |
- OnUnpackExtensionFailed(unpacker.error_message()); |
- } |
+ // The utility process will have access to the directory passed to |
+ // SandboxedUnpacker. That directory should not contain a symlink or NTFS |
+ // reparse point. When the path is used, following the link/reparse point |
+ // will cause file system access outside the sandbox path, and the sandbox |
+ // will deny the operation. |
+ base::FilePath link_free_crx_path; |
+ if (!file_util::NormalizeFilePath(temp_crx_path, &link_free_crx_path)) { |
+ LOG(ERROR) << "Could not get the normalized path of " |
+ << temp_crx_path.value(); |
+ ReportFailure( |
+ COULD_NOT_GET_SANDBOX_FRIENDLY_PATH, |
+ l10n_util::GetStringUTF16(IDS_EXTENSION_UNPACK_FAILED)); |
+ return; |
} |
+ PATH_LENGTH_HISTOGRAM("Extensions.SandboxUnpackLinkFreeCrxPathLength", |
+ link_free_crx_path); |
+ |
+ BrowserThread::PostTask( |
+ BrowserThread::IO, FROM_HERE, |
+ base::Bind( |
+ &SandboxedUnpacker::StartProcessOnIOThread, |
+ this, |
+ link_free_crx_path)); |
} |
SandboxedUnpacker::~SandboxedUnpacker() { |