| Index: chrome/browser/browser_init.cc
|
| diff --git a/chrome/browser/browser_init.cc b/chrome/browser/browser_init.cc
|
| index 731e405d580ec67a9c13f98cd7cd9a671b31bfcd..c1ab3a9fd2d19b4fae78318f03c6e96e12797b74 100644
|
| --- a/chrome/browser/browser_init.cc
|
| +++ b/chrome/browser/browser_init.cc
|
| @@ -15,6 +15,7 @@
|
| #include "base/path_service.h"
|
| #include "base/scoped_ptr.h"
|
| #include "base/string_number_conversions.h"
|
| +#include "base/thread_restrictions.h"
|
| #include "base/utf_string_conversions.h"
|
| #include "chrome/browser/automation/automation_provider.h"
|
| #include "chrome/browser/automation/automation_provider_list.h"
|
| @@ -851,7 +852,14 @@ std::vector<GURL> BrowserInit::LaunchWithProfile::GetURLsFromCommandLine(
|
| TemplateURLRef::NO_SUGGESTIONS_AVAILABLE, std::wstring())));
|
| } else {
|
| // This will create a file URL or a regular URL.
|
| - GURL url(URLFixerUpper::FixupRelativeFile(cur_dir_, param));
|
| + // This call can (in rare circumstances) block the UI thread.
|
| + // Allow it until this bug is fixed.
|
| + // http://code.google.com/p/chromium/issues/detail?id=60641
|
| + GURL url;
|
| + {
|
| + base::ThreadRestrictions::ScopedAllowIO allow_io;
|
| + url = URLFixerUpper::FixupRelativeFile(cur_dir_, param);
|
| + }
|
| // Exclude dangerous schemes.
|
| if (url.is_valid()) {
|
| ChildProcessSecurityPolicy *policy =
|
|
|