summaryrefslogtreecommitdiffstats
path: root/chrome/browser/extensions/sandboxed_extension_unpacker.cc
diff options
context:
space:
mode:
authorasargent@chromium.org <asargent@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-10-05 16:11:35 +0000
committerasargent@chromium.org <asargent@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-10-05 16:11:35 +0000
commitb98b0decec407b51de69cd60bf4c0c903d65f8e1 (patch)
tree167ab65b3bee9af92d792ba1fa37973741983263 /chrome/browser/extensions/sandboxed_extension_unpacker.cc
parent766a6923903d8aa4f2d15f603b0f628e97980426 (diff)
downloadchromium_src-b98b0decec407b51de69cd60bf4c0c903d65f8e1.zip
chromium_src-b98b0decec407b51de69cd60bf4c0c903d65f8e1.tar.gz
chromium_src-b98b0decec407b51de69cd60bf4c0c903d65f8e1.tar.bz2
Do not use the utility process on linux.
We don't currently use the zygote to spawn the utility process, so after browser updates bad bugs can occur with mismatched subprocesses. See crbug.com/23327 and crbug.com/22703. BUG=23327 TEST=Extensions installation/autoupdate and New Tab Page tip download should still work. Review URL: http://codereview.chromium.org/256036 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27997 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/extensions/sandboxed_extension_unpacker.cc')
-rw-r--r--chrome/browser/extensions/sandboxed_extension_unpacker.cc12
1 files changed, 10 insertions, 2 deletions
diff --git a/chrome/browser/extensions/sandboxed_extension_unpacker.cc b/chrome/browser/extensions/sandboxed_extension_unpacker.cc
index 7003139..9d043b7 100644
--- a/chrome/browser/extensions/sandboxed_extension_unpacker.cc
+++ b/chrome/browser/extensions/sandboxed_extension_unpacker.cc
@@ -63,8 +63,16 @@ void SandboxedExtensionUnpacker::Start() {
//
// TODO(asargent) we shouldn't need to do this branch here - instead
// UtilityProcessHost should handle it for us. (http://crbug.com/19192)
- if (rdh_ &&
- !CommandLine::ForCurrentProcess()->HasSwitch(switches::kSingleProcess)) {
+ bool use_utility_process = rdh_ &&
+ !CommandLine::ForCurrentProcess()->HasSwitch(switches::kSingleProcess);
+
+#if defined(OS_POSIX)
+ // TODO(port): Don't use a utility process on linux (crbug.com/22703) or
+ // MacOS (crbug.com/8102) until problems related to autoupdate are fixed.
+ use_utility_process = false;
+#endif
+
+ if (use_utility_process) {
ChromeThread::GetMessageLoop(ChromeThread::IO)->PostTask(FROM_HERE,
NewRunnableMethod(this,
&SandboxedExtensionUnpacker::StartProcessOnIOThread,