| Index: chrome/browser/extensions/crx_installer.cc
|
| diff --git a/chrome/browser/extensions/crx_installer.cc b/chrome/browser/extensions/crx_installer.cc
|
| index 8b523d51bb611d0ddb097344c78aecc7b53ad716..4246ffa1a6bc56b80c143b044a25eb1246382fd1 100644
|
| --- a/chrome/browser/extensions/crx_installer.cc
|
| +++ b/chrome/browser/extensions/crx_installer.cc
|
| @@ -12,6 +12,7 @@
|
| #include "base/singleton.h"
|
| #include "base/stringprintf.h"
|
| #include "base/task.h"
|
| +#include "base/thread_restrictions.h"
|
| #include "base/utf_string_conversions.h"
|
| #include "base/version.h"
|
| #include "chrome/browser/browser_process.h"
|
| @@ -112,7 +113,12 @@ void CrxInstaller::InstallCrx(const FilePath& source_file) {
|
| source_file_ = source_file;
|
|
|
| FilePath user_data_temp_dir;
|
| - CHECK(PathService::Get(chrome::DIR_USER_DATA_TEMP, &user_data_temp_dir));
|
| + {
|
| + // We shouldn't be doing disk IO on the UI thread.
|
| + // http://code.google.com/p/chromium/issues/detail?id=60634
|
| + base::ThreadRestrictions::ScopedAllowIO allow_io;
|
| + CHECK(PathService::Get(chrome::DIR_USER_DATA_TEMP, &user_data_temp_dir));
|
| + }
|
|
|
| scoped_refptr<SandboxedExtensionUnpacker> unpacker(
|
| new SandboxedExtensionUnpacker(
|
|
|