From b76b207ec4cc0f594fb8ba8b2e37cf44f75fc86b Mon Sep 17 00:00:00 2001 From: Marshall Greenblatt Date: Mon, 10 Feb 2014 19:26:35 +0000 Subject: [PATCH] Windows: Support non-ASCII paths for CefStream file access (issue #481). git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1611 5089003a-bbd8-11dd-ad1f-f1f9622dbc98 --- libcef/browser/stream_impl.cc | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/libcef/browser/stream_impl.cc b/libcef/browser/stream_impl.cc index d095d36d1..4941e7a7d 100644 --- a/libcef/browser/stream_impl.cc +++ b/libcef/browser/stream_impl.cc @@ -4,6 +4,7 @@ #include "libcef/browser/stream_impl.h" #include +#include "base/file_util.h" #include "base/logging.h" // Static functions @@ -11,8 +12,7 @@ CefRefPtr CefStreamReader::CreateForFile( const CefString& fileName) { CefRefPtr reader; - std::string fileNameStr = fileName; - FILE* file = fopen(fileNameStr.c_str(), "rb"); + FILE* file = base::OpenFile(base::FilePath(fileName), "rb"); if (file) reader = new CefFileReader(file, true); return reader; @@ -41,8 +41,7 @@ CefRefPtr CefStreamWriter::CreateForFile( const CefString& fileName) { DCHECK(!fileName.empty()); CefRefPtr writer; - std::string fileNameStr = fileName; - FILE* file = fopen(fileNameStr.c_str(), "wb"); + FILE* file = base::OpenFile(base::FilePath(fileName), "wb"); if (file) writer = new CefFileWriter(file, true); return writer; @@ -67,7 +66,7 @@ CefFileReader::CefFileReader(FILE* file, bool close) CefFileReader::~CefFileReader() { AutoLock lock_scope(this); if (close_) - fclose(file_); + base::CloseFile(file_); } size_t CefFileReader::Read(void* ptr, size_t size, size_t n) { @@ -109,7 +108,7 @@ CefFileWriter::CefFileWriter(FILE* file, bool close) CefFileWriter::~CefFileWriter() { AutoLock lock_scope(this); if (close_) - fclose(file_); + base::CloseFile(file_); } size_t CefFileWriter::Write(const void* ptr, size_t size, size_t n) {