| Index: chrome/browser/download/save_package.cc
|
| ===================================================================
|
| --- chrome/browser/download/save_package.cc (revision 64981)
|
| +++ chrome/browser/download/save_package.cc (working copy)
|
| @@ -13,6 +13,7 @@
|
| #include "base/stl_util-inl.h"
|
| #include "base/string_piece.h"
|
| #include "base/string_split.h"
|
| +#include "base/thread_restrictions.h"
|
| #include "base/utf_string_conversions.h"
|
| #include "base/task.h"
|
| #include "base/thread.h"
|
| @@ -1158,6 +1159,10 @@
|
| }
|
|
|
| FilePath SavePackage::EnsureHtmlExtension(const FilePath& name) {
|
| + // The GetMimeTypeFromExtension call will end up going to disk. Do this on
|
| + // another thread to avoid slowing the UI thread. http://crbug.com/61775
|
| + base::ThreadRestrictions::ScopedAllowIO allow_io;
|
| +
|
| // If the file name doesn't have an extension suitable for HTML files,
|
| // append one.
|
| FilePath::StringType ext = name.Extension();
|
| @@ -1174,6 +1179,10 @@
|
|
|
| FilePath SavePackage::EnsureMimeExtension(const FilePath& name,
|
| const FilePath::StringType& contents_mime_type) {
|
| + // The GetMimeTypeFromExtension call will end up going to disk. Do this on
|
| + // another thread to avoid slowing the UI thread. http://crbug.com/61775
|
| + base::ThreadRestrictions::ScopedAllowIO allow_io;
|
| +
|
| // Start extension at 1 to skip over period if non-empty.
|
| FilePath::StringType ext = name.Extension().length() ?
|
| name.Extension().substr(1) : name.Extension();
|
|
|