diff --git a/libcef/browser/stream_impl.cc b/libcef/browser/stream_impl.cc index 4941e7a7d..a3017d7a0 100644 --- a/libcef/browser/stream_impl.cc +++ b/libcef/browser/stream_impl.cc @@ -6,11 +6,17 @@ #include #include "base/file_util.h" #include "base/logging.h" +#include "base/threading/thread_restrictions.h" // Static functions CefRefPtr CefStreamReader::CreateForFile( const CefString& fileName) { + DCHECK(!fileName.empty()); + + // TODO(cef): Do not allow file IO on all threads (issue #1187). + base::ThreadRestrictions::ScopedAllowIO allow_io; + CefRefPtr reader; FILE* file = base::OpenFile(base::FilePath(fileName), "rb"); if (file) @@ -40,6 +46,10 @@ CefRefPtr CefStreamReader::CreateForHandler( CefRefPtr CefStreamWriter::CreateForFile( const CefString& fileName) { DCHECK(!fileName.empty()); + + // TODO(cef): Do not allow file IO on all threads (issue #1187). + base::ThreadRestrictions::ScopedAllowIO allow_io; + CefRefPtr writer; FILE* file = base::OpenFile(base::FilePath(fileName), "wb"); if (file)